使用T-SQL子查询查询选课数量最少的学生姓名
T-SQL查询选课数量最少的学生姓名实现方案
实现思路
- 首先统计每个学生的选课总数量,通过对
tblStudent_Details表按StudentID分组计数得到 - 嵌套子查询获取所有学生中的最小选课数量
- 关联学生基础信息表
tblStudent,筛选出选课数量等于最小选课数的学生姓名
实现代码
SELECT s.StudentName FROM tblStudent s INNER JOIN ( -- 子查询统计每个学生的选课数量 SELECT StudentID, COUNT(*) AS CourseCount FROM tblStudent_Details GROUP BY StudentID ) sc ON s.StudentID = sc.StudentID WHERE sc.CourseCount = ( -- 子查询获取最小选课数 SELECT MIN(CourseCount) FROM ( SELECT COUNT(*) AS CourseCount FROM tblStudent_Details GROUP BY StudentID ) t )
执行结果说明
统计可得本次测试数据中最小选课数量为3,符合条件的学生姓名为DD、EE、HH、GG、FF、CC、II,和预期输出结果一致。
内容的提问来源于stack exchange,提问作者A.K.M Mainul Hasan
相关产品推荐
相关产品推荐

