Mysql 计数(*)允许按空分组
我有以下疑问:Mysql 计数(*)允许按空分组,mysql,sql,Mysql,Sql,我有以下疑问: select count(*) as memo_count, student_id from memo group by student_id 返回以下结果集: memo_count student_id 3 0 8 1 然而,我真正希望它返回的是: memo_count student_id 3 0 8 1 0
select count(*) as memo_count, student_id from memo group by student_id
返回以下结果集:
memo_count student_id
3 0
8 1
然而,我真正希望它返回的是:
memo_count student_id
3 0
8 1
0 2
实际情况是,Group By正在过滤掉返回0的任何计数(*),这不是我想要的。有办法吗?谢谢。你可以试试这样的东西。假设你有一桌学生
Select count(m.id), s.id from student s
left outer join memo m on m.student_id = s.id
group by s.id
检查这个:如果它将返回0,这将意味着
学生id
在此表中不存在。你是否有另一个学生id表可以左键连接,它将返回所有学生id?它无法计算不存在的内容。。。你想要每个学生都有一张记录吗?哦,我犯了一个愚蠢的错误,你是对的,Michael,备忘录表中没有任何学生id为2的,这就是为什么它不起作用,我已经解决了问题,谢谢!