-1
我想按特定列排序組。MySQL GROUP BY並按列排序組
我試過如下:
SELECT u.level, max(u.score),n.nick
FROM database.userdata u, database.nicks n
WHERE n.user = u.id
GROUP BY level
但這只是打印最高得分,而不是爲這個分數的用戶名..
我怎樣才能解決這個問題?
謝謝!
我想按特定列排序組。MySQL GROUP BY並按列排序組
我試過如下:
SELECT u.level, max(u.score),n.nick
FROM database.userdata u, database.nicks n
WHERE n.user = u.id
GROUP BY level
但這只是打印最高得分,而不是爲這個分數的用戶名..
我怎樣才能解決這個問題?
謝謝!
試試這個方法:
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
您的查詢提到兩個表,但不提供用於連接在一起的任何條件。這意味着MySQL將考慮兩個表中所有可能的行組合。 *當然*你可以在網上找到一些使用'JOIN'和'GROUP BY'的例子。 –