【发布时间】:2013-03-10 07:43:30
【问题描述】:
我有一张订单表。在那里,我需要找出哪 3 个 partner_id 的 amount_totals 总和最大,并将这 3 个从大到小排序。
testdb=# SELECT amount_total, partner_id FROM sale_order;
amount_total | partner_id
--------------+------------
1244.00 | 9
3065.90 | 12
3600.00 | 3
2263.00 | 25
3000.00 | 10
3263.00 | 3
123.00 | 25
5400.00 | 12
(8 rows)
刚启动SQL,我觉得很混乱……
【问题讨论】:
-
amount_total是一个非常不幸的名称,它显然根本不是总数。应该是amount或更具描述性的东西。合计金额可以是amount_total或amount_year或其他。您要列出合计金额还是单独的行? -
另外:如果4个合伙人的总金额相同怎么办?全选4个?选3?定义方式。
标签: sql postgresql aggregate-functions greatest-n-per-group