我想你们中的任何人都会帮助我。我有一个class
表
我的问题是如何计算当前正在运行的课程中注册的学生数量(即使他或她参加了许多课程,也只计算一次学生一次)。
提前致谢
答案 0 :(得分:1)
使用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
答案 1 :(得分:0)
试试这个......
SELECT COUNT(DISTINCT COLUMN_NAME) FROM TABLE_NAME
这将计算表TABLE_NAME中名称为COLUMN_NAME的列中的不同值的数量。
希望这个答案很有帮助。