0

I wonder any of you would help me. I have a class table

and my question is how to count how many students are enrolled in classes that are currently running (count each student just once, even if he or she is enrolled in many classes).

Thanks in advance

4

2 に答える 2

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

SQL フィドルのデモ

于 2012-11-15T12:18:54.313 に答える
0

これを試して...

SELECT COUNT(DISTINCT COLUMN_NAME) FROM TABLE_NAME

これにより、テーブル TABLE_NAME 内の名前 COLUMN_NAME を持つ列の個別の値の数がカウントされます。

この回答がお役に立てば幸いです。

于 2012-11-15T12:23:08.533 に答える