
# 

Select first row for each group in Postgres

* * *

Given a table `seasons`:

id

team

points

1

Liverpool

82

2

Liverpool

84

3

Brighton

34

4

Brighton

28

5

Liverpool

79

We want to find the rows containing the maximum number of points _per team_.

The expected output we want is:

id

team

points

3

Brighton

34

2

Liverpool

84

From the [SQL Editor](/dashboard/project/_/sql), you can run a query like:

```
1select distinct2  on (team) id,3  team,4  points5from6  seasons7order BY8  id,9  points desc,10  team;
```

The important bits here are:

*   The `desc` keyword to order the `points` from highest to lowest.
*   The `distinct` keyword that tells Postgres to only return a single row per team.

This query can also be executed via `psql` or any other query editor if you prefer to [connect directly to the database](../../connecting-to-postgres/index.md#direct-connections).
