Mysql SQL获得排名前50名的排行榜

Mysql SQL获得排名前50名的排行榜,mysql,sql,Mysql,Sql,所以,我真的不知道如何在SQL中实现这一点,这就是我现在在这里的原因。所以,我有一个网站,人们可以在那里赚取积分,所有的东西都被记录在一个名为收入的表格中。表结构为id(uniue)、uid、用户名、金额。我想创建一个“最赚得的分数”的学习板,在那里我想得到总赚得的分数和用户名。如何在SQL中实现这一点 示例: 表: 使用SQL时,应给出以下结果: user2 | 13 user1 | 10 但这张桌子有1500行,排在前50位。我甚至不知道这是否可能,我希望是这样 谢谢你的阅读/帮助 您可以

所以,我真的不知道如何在SQL中实现这一点,这就是我现在在这里的原因。所以,我有一个网站,人们可以在那里赚取积分,所有的东西都被记录在一个名为
收入
的表格中。表结构为
id(uniue)、uid、用户名、金额
。我想创建一个“最赚得的分数”的学习板,在那里我想得到总赚得的分数和用户名。如何在SQL中实现这一点

示例:
表:

使用SQL时,应给出以下结果:

user2 | 13
user1 | 10
但这张桌子有1500行,排在前50位。我甚至不知道这是否可能,我希望是这样


谢谢你的阅读/帮助

您可以尝试使用limit 50和group by作为聚合结果

select username, sum(amount) 
from my_table 
group by username
order by sum(amount) DESC 
limit 50 

使用下面的查询,您可以获得前50名用户名,他们的总和值都最高:

SELECT username, SUM(amount) AS amount
FROM earnings
GROUP BY username
ORDER BY SUM(amount) DESC
LIMIT 50

嗯,我想我没听懂这个笑话@laurentlequenned你是否试过
分组方式
总和
?只需在谷歌搜索“从订购的袋子中选择n个土豆”?
SELECT username, SUM(amount) AS amount
FROM earnings
GROUP BY username
ORDER BY SUM(amount) DESC
LIMIT 50