Select first row in each GROUP BY group?
As the title suggests, I'd like to select the first row of each set of rows grouped with a GROUP BY
.
Specifically, if I've got a purchases
table that looks like this:
SELECT * FROM purchases;
My Output:
id | customer | total |
---|---|---|
1 | Joe | 5 |
2 | Sally | 3 |
3 | Joe | 2 |
4 | Sally | 1 |
I'd like to query for the id
of the largest purchase (total
) made by each customer
. Something like this:
SELECT FIRST(id), customer, FIRST(total)
FROM purchases
GROUP BY customer
ORDER BY total DESC;
Expected Output:
FIRST(id) | customer | FIRST(total) |
---|---|---|
1 | Joe | 5 |
2 | Sally | 3 |