【发布时间】:2021-05-20 15:48:05
【问题描述】:
给定下表:
| account | item | quantity | pending | sequence | update_time |
|---|---|---|---|---|---|
| 1 | 1 | 20.0 | 0.0 | 1 | (some time) |
| 2 | 1 | 10.0 | 0.0 | 2 | (some time) |
| 3 | 1 | 100.0 | 0.0 | 3 | (some time) |
| 1 | 1 | 20.0 | 5.0 | 4 | (some time) |
| 2 | 1 | 10.0 | 10.5 | 4 | (some time) |
| 3 | 1 | 100.0 | 100.0 | 6 | (some time) |
| 1 | 1 | 25.0 | 0.0 | 7 | (some time) |
| 2 | 1 | 20.5 | 0.0 | 8 | (some time) |
| 3 | 1 | 200.0 | 0.0 | 9 | (some time) |
我想创建一个查询,返回由account, item分组的最高sequence的完整行
以上数据的报表结果应为:
| account | item | quantity | pending | sequence | update_time |
|---|---|---|---|---|---|
| 1 | 1 | 25.0 | 0.0 | 7 | (some time) |
| 2 | 1 | 20.5 | 0.0 | 8 | (some time) |
| 3 | 1 | 200.0 | 0.0 | 9 | (some time) |
目前我知道的最好的方法是:
select account, item , max(sequence) from foo group by account, item;
我不知道如何选择quantity、pending 和update_time 作为顶部序列的第一行。
【问题讨论】:
标签: sql postgresql