【发布时间】:2018-06-22 07:40:40
【问题描述】:
我想在我的查询中建立一个排名列——我在 Stack 上发现了一些类似的案例,但这个有点不同,我不能让它发挥作用。我有一个表 EnrollmentX,它有两列,一个唯一的 StudentID 和一个 GroupId(为了论证,组 1:3)。我需要同时计算这三个组中每个组的学生人数,然后按学生人数对这些组进行排名。我已经完成了计数:
SELECT
EnrollmentX.GroupId,
COUNT(EnrollmentX.StudentId) AS StudentCnt
FROM EnrollmentX
GROUP BY
EnrollmentX.GroupId
这会输出两列,一列用于 GroupId,1:3,另一列用于 StudentCnt,每个组中的学生人数正确。我无法解决的是如何在构建之后使用该 StudentCnt 列来创建第三个排名列。
【问题讨论】:
-
你的 MySQL 版本是多少?
-
对不起,应该记得指出这一点——我已经 8 点了。