我想知道你们中的任何人会帮助我。我有一张class
桌子
我的问题是如何计算当前正在运行的课程中有多少学生注册(即使他或她注册了许多课程,也只计算每个学生一次)。
提前致谢
我想知道你们中的任何人会帮助我。我有一张class
桌子
我的问题是如何计算当前正在运行的课程中有多少学生注册(即使他或她注册了许多课程,也只计算每个学生一次)。
提前致谢
使用COUNT(DISTINCT StudentName)
:
SELECT COUNT(DISTINCT StudentName)
FROM TableName
-- You can add a condition here to get only the classes that currently running
-- like WHERE Date BETWEEN ....
更新:您可以加入另一个表以仅获取当前正在运行的课程:
SELECT COUNT(DISTINCT c.stuid)
FROM @Courses c
INNER JOIN @courseDetails cd
ON c.ClassID = cd.ClassID
AND c.EndrolledDate BETWEEN cd.StartDate AND cd.FinishDate
尝试这个...
SELECT COUNT(DISTINCT COLUMN_NAME) FROM TABLE_NAME
这将计算表 TABLE_NAME 中名称为 COLUMN_NAME 的列中不同值的数量。
希望这个答案有帮助。