表
这些是以下列:
城市,名称,支付
Paris, Bob, 4
Paris John, 6
Tokio Adam, 5
Tokio Mike, 3
它应该返回
Paris, 10, bob 4
Paris 10, jogn 6
tokio 8 adam 5
tokio 8 mike 3
所以我想让City,Name,Payout列出City,SUM(支付),名字,支付。
我知道我可以在2个查询中执行此操作,但我认为通过一个查询让我的朋友感到惊讶会很有趣。
编辑:答案是:
SELECT
city, name, payout, SUM(payout)
FROM
table
GROUP BY
city, name
ORDER BY
SUM(payout) DESC
答案 0 :(得分:1)
如果您使用的RDBMS支持窗口函数,则可以使用一个SELECT
(无子查询):
SELECT city, SUM(payout) OVER (PARTITION BY city) AS sum_per_city,
name, payout
FROM tableX
ORDER BY sum_per_city DESC
, name ASC ;