如果我有一个MYSQL表来排序名称和一个对值进行排序的表。
示例如下表格如下:
ID name value
-- ------ -----
1 John 500
2 Rock 350
3 Wayne 700
4 John 350
5 Rock 250
6 Nick 100
7 Sweety 75
8 Lex 350
如何显示eache用户的总价值?如果我想过滤它只显示前3,那么有一个简单的命令吗?或者我需要做一些功能。
在PHP中
John 850
Wayne 700
Rock 600
Lex 350
Nick 100
Sweety 75
答案 0 :(得分:2)
可以通过aggregates来实现,
SELECT ID, name, SUM(value) as total_score
FROM user_scores
GROUP BY name
ORDER BY total_score
答案 1 :(得分:2)
您需要一个聚合函数,特别是SUM
。您可以按选择列表中的任意值订购查询,并从高到低依次使用DESC
关键字:
SELECT Name, SUM(value) AS TotalValue
FROM myTable
GROUP BY Name
ORDER BY TotalValue DESC
当您在PHP中引用列名时,AS TotalValue
将确保列名为TotalValue
。