SQL如何分类组合查询?
现有表
course,列为course_uid,course_name
enrolled,列为course_uid,student_uid
现在想将每个COURSE_UID分别由STUDENT_UID数列出来,同时列出相应COURSE_UID对应的COURSE_NAME值
我尝试写成
- SQL code
SELECT Course_Name, (SELECT count( * )FROM `enrolled`GROUP BY Course_Uid)FROM courseWHERE Course_UidIN (SELECT Course_UidFROM enrolledGROUP BY Course_Uid);
但无法得到想要的值,SQL提示Subquery returns more than 1 row
[解决办法]
- SQL code
select a.course_uid,a.course_name,count(b.student_uid) coutfrom course a,enrolled b where a.course_uid=b.course_uidgroup by a.course_uid;