您的位置:首页 > 数据库 > MySQL

MySQL中在含有GROUP BY的SELECT语句中显示COUNT()为0的结果

2013-08-30 18:50 561 查看
mysql> select * from t1;
+-------+------+
| level | name |
+-------+------+
|     1 | a    |
|     1 | b    |
|     1 | c    |
|     2 | a    |
|     2 | b    |
|     4 | a    |
|     5 | b    |
+-------+------+
7 rows in set (0.00 sec)

mysql> select * from t2;
+------+
| id   |
+------+
|    1 |
|    2 |
|    3 |
|    4 |
|    5 |
+------+
5 rows in set (0.02 sec)

mysql> select t2.id as level,count(case when name is not null then 1 end) as count
->   from t2 left join t1 on t2.id = t1.level
-> group by t2.id;
+-------+-------+
| level | count |
+-------+-------+
|     1 |     3 |
|     2 |     2 |
|     3 |     0 |
|     4 |     1 |
|     5 |     1 |
+-------+-------+
5 rows in set (0.00 sec)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐