所以我在我的表格中有捐赠条目,每个用户都有自己的唯一标识符和捐赠价值。现在我需要做的是展示前3名捐赠者,从捐赠最多的捐赠者开始。问题是我如何总结所有相同标识符的捐赠,然后排序并显示它们?
看起来像这样:
NAME ID AMOUNT
Bob 0001 5
Don 0002 2
Carl 0003 10
Bob 0001 3
Carl 0003 8
我只知道如何汇总整个捐款金额,而不是每个用户的总金额。
谢谢你的帮助!
答案 0 :(得分:1)
使用GROUP BY
:
SELECT id, name, SUM(amount) as totalAmount
FROM donations
GROUP BY id, name
ORDER BY totalAmount DESC
LIMIT 3
请参阅SQLFiddle。
答案 1 :(得分:1)
SELECT
Name, id, sum(Amount) as TotalDonation
FROM t1
GROUP BY id
ORDER BY TotalDonation DESC
LIMIT 0,3
答案 2 :(得分:0)
SELECT
Name
,id
,sum(Amount) as TotalDonation
FROM /*Your Table*/
GROUP BY name, id
这应该可行,只需使用您的表名。
SELECT
Name
,id
,sum(Amount) as TotalDonation
FROM /*Your Table*/
GROUP BY name, id
ORDER BY TotalDonation desc
LIMIT 3
如果你想展示最好的捐赠者。