【发布时间】:2014-02-02 00:19:22
【问题描述】:
有表 Student(列:StudentID、ClassID)。试图找出大多数学生的前三名。如果有相同数量的学生,也必须列出。一直在尝试以下:
SELECT
DISTINCT ClassID, COUNT(StudentID)
FROM
Student
GROUP BY ClassID
ORDER By COUNT(StudentID)
DESC Limit 3
但这并没有列出相同的数量,事实上,如果有 5 个数字:40,20,20,10,5 它会列出 40,20,20。但我想列出结果为 40、20、20、10 的前 3 名。
想知道 MySQL 中是否有类似排名之类的东西可以用来解决这个问题..
【问题讨论】:
-
由于您想要
SELECT的数量不同,这似乎更适合存储过程或SQL 语句之外的分析。