我想按特定列对组进行排序。
我尝试了以下内容:
SELECT u.level, max(u.score),n.nick
FROM database.userdata u, database.nicks n
WHERE n.user = u.id
GROUP BY level
但这仅打印最高分,而不是此分数的用户名。
我该如何解决这个问题?
谢谢!
答案 0 :(得分:1)
尝试这种方式:
SELECT n.nick, u1.score, u1.level
FROM database.nicks AS n
JOIN database.userdata AS u1 ON n.user = u1.id
JOIN (
SELECT level, max(score) AS score
FROM database.userdata
GROUP BY level
) AS u2 ON u1.level = u2.level AND u1.score = u2.score