mysql:多表,union,count,group by的问题,求教
select A.uid,count(*) from A GROUP by A.uid UNION all
select A.uid,count(*) from A,B where B.neid = A.neid GROUP by A.uid UNION all
select A.uid,count(*) from A,C where C.Type = 'student' and C.neid=A.neid GROUP by A.uid;
如果用每行语句单独查询,结果分别是这样的
uid count
语文 11
数学 12
英语 30
物理 5
化学 39
生物 14
地理 4
政治 3
历史 8
uid count
语文 299
数学 341
英语 341
物理 23
化学 189
生物 133
地理 186
政治 139
历史 150
uid count
语文 33
数学 44
英语 31
物理 55
化学 13
生物 9
地理 10
政治 43
历史 53
但是我用以上语句查询,结果就变成
uid count
语文 11
数学 12
英语 30
物理 5
化学 39
生物 14
地理 4
政治 3
历史 8
语文 299
数学 341
英语 341
物理 23
化学 189
生物 133
地理 186
政治 139
历史 150
语文 33
数学 44
英语 31
物理 55
化学 13
生物 9
地理 10
政治 43
历史 53
我想要的结果是
uid count
语文 11 299 33
数学 12 341 44
英语 30 341 31
物理 5 23 55
化学 39 189 13
生物 14 133 9
地理 4 186 10
政治 3 139 43
历史 8 150 53
求高手赐教
作业帮用户2017-07-20举报