SELECT count(distinct 学号) FROM TABLE WHERE 课程号 IN (SELECT 课程号 FROM TABLE WHERE 学号='2') and 学号<>'2' group by 学号 HAVING COUNT(学号)>= (SELECT COUNT(学号) FROM TABLE WHERE 学号='2')
SELECT count(distinct 学号) FROM TABLE WHERE 课程号 IN (SELECT 课程号 FROM TABLE WHERE 学号='2') and 学号<>'2' group by 学号 HAVING COUNT(学号)= (SELECT COUNT(学号) FROM TABLE WHERE 学号='2')
能不能运行?我没有是过。 (SELECT COUNT(学号) FROM TABLE WHERE 学号='2'):表示2号学习的课程数。 HAVING COUNT(学号)=:如果没有这句,表示所有学过2号课程的任意1门以上的学生;加上这句就要求每个学生的课程数要等于2号的课程数。