1

私は3つのテーブルを持っています:

Student(StudentID, StudentName)
Course(CourseID, CourseName)
StudentCourse(StudentID, CourseID) -- junction table to assign courses to students

「学生数が最も多いコース」というお気に入りのコースを取得するには、どうすればよいですか。

SQLFiddle

4

2 に答える 2

6

を使用して試してみてくださいTOP...WITH TIES

SELECT  TOP 1 WITH TIES c.CourseName,
        COUNT(c.CourseID) totalCount
FROM    student a
        INNER JOIN studentcourse b
            ON a.studentID = b.studentID
        INNER JOIN course c
            ON b.courseID = c.courseID
GROUP BY c.CourseName
ORDER BY totalCount DESC

WITH TIES同じカウント数が最も多いレコードを表示します。

SQLFiddleデモ

于 2012-10-15T07:37:12.267 に答える
1
SELECT TOP 1 WITH TIES COURSEID 
FROM   STUDENTCOURSE 
GROUP  BY COURSEID 
ORDER  BY Count(*) DESC
于 2012-10-15T07:39:48.107 に答える