【发布时间】:2012-06-17 21:55:08
【问题描述】:
我有以下疑问:
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 的 count(*),这不是我想要的。有什么办法吗?谢谢。
【问题讨论】:
-
如果它返回 0,则意味着该表中不存在
student_id。您是否有另一张 student_id 表要左连接以返回所有这些表? -
它无法计算不存在的事物...您要为每个学生创建一个记录吗?
-
糟糕,我犯了一个愚蠢的错误,你是对的迈克尔,备忘录表中没有任何 2 的 student_id,这就是它不起作用的原因,我已经解决了问题,谢谢!