我有三张表:
Student(StudentID, StudentName)
Course(CourseID, CourseName)
StudentCourse(StudentID, CourseID) -- junction table to assign courses to students我如何查询才能得到最喜欢的课程--“注册人数最多的课程”?
SQLFiddle
发布于 2012-10-15 15:39:48
SELECT TOP 1 WITH TIES COURSEID
FROM STUDENTCOURSE
GROUP BY COURSEID
ORDER BY Count(*) DESC发布于 2012-10-15 15:37:12
使用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 DESCWITH TIES显示具有相同最高计数数的记录。
SQLFiddle Demo
https://stackoverflow.com/questions/12891071
复制相似问题