mysql——CASE方法

参考博客: https://www.cnblogs.com/aipan/p/7770611.html

参考博客: https://www.cnblogs.com/Richardzhu/p/3571670.html

参考博客: https://www.jianshu.com/p/f098606391ea

 

select 与 case结合使用最大的好处有两点,一是在显示查询结果时可以灵活的组织格式,二是有效避免了多次对同一个表或几个表的访问。

 

下面举个简单的例子来说明。例如表 students(id, name ,birthday, sex, grade),要求按每个年级统计男生和女生的数量各是多少,
统计结果的表头为,年级,男生数量,女生数量。如果不用select case when,为了将男女数量并列显示,统计起来非常麻烦,先确定年级信息,再根据年级取男生数和女生数,而且很容易出错。

用select case when写法如下:
SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1     
                            ELSE NULL
                        END) 男生数,
               COUNT (CASE WHEN sex = 2 THEN 1
                            ELSE NULL
                       END) 女生数
FROM students

GROUP BY grade;

 

posted @ 2019-01-23 14:48  JAYWX  阅读(481)  评论(0编辑  收藏  举报