我正在尝试使用表格中的数据创建排名系统。它有2列,名称和分数。一个用户可以有多个分数。这就是我到目前为止所做的:
("SELECT name, score, FIND_IN_SET( score, (SELECT GROUP_CONCAT ( score ORDER BY score DESC ) FROM data )) AS rank FROM scores");
但是,当我只需要最高分时,此命令会列出所有用户之前的分数。
有谁知道我怎么做到这一点?
答案 0 :(得分:0)
尝试
SELECT name, sum(score) from scores group by name order by sum(score) desc limit 1
如果你不想总结,那么使用
SELECT name, max(score) from scores
答案 1 :(得分:0)
以下查询将分别以最高分的顺序弹出名称列表。
select name, max(score) as score from scores group by name order by score desc
答案 2 :(得分:-1)
您可以使用SELECT DISTINCT名称,得分......
并选择TOP 1和ORDER BY