坚持SQL查询-学习SQL



你好,我正在学习MYSQL/MariaDB,我坚持基于2列进行排名

我做了这个查询:

SELECT * FROM partides WHERE PUNTUACIO > 0 ORDER BY ID_NIVELL DESC, PUNTUACIO DESC

我得到了这个表现在我想要红色的表:在这里输入图像描述

按等级和分数(标点符号)排名,每个用户只能有一个nick进入前5名

Thanks in advance

试试这个:

SELECT A.ID_PARTIDA, A.NICK, A.ID_NIVELL, MAX(A.PUNTUACIO)
FROM (
SELECT * 
FROM partides 
WHERE PUNTUACIO > 0 
ORDER BY ID_NIVELL DESC, PUNTUACIO DESC) AS 'A'
GROUP BY A.ID_PARTIDA, A.NICK, A.ID_NIVELL

最新更新