使用 sum case when 优化统计查询

原创文章,欢迎转载:http://miao.blog/article/mysql-sum-case-when

SELECT
    `year` as `年份`,
    sum(
        CASE
        WHEN `status` = '状态1' THEN
            1
        ELSE
            0
        END
    ) AS `正在审计`,
    sum(
        CASE
        WHEN `status` = '状态2' THEN
            1
        ELSE
            0
        END
    ) AS `正在整改`
FROM
    sj
GROUP BY
    `year`

数据表

idyearstatus
12016状态1
22016状态1
32016状态2
42017状态2
52017状态2

查询结果

年份正在审计正在整改
201621
201702
推荐阅读
提交表单时发现不能正常提交,浏览器console日志里边打印 An invalid form control with name='' is not focusable. 发现原来是使用的select2的一个问题...
本章探讨如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的、易于阅读和维护的代码。 多家公司和组织已经公开了它们的风格规范,具体可参阅jscs.info,下面的内容主要参考了Airbnb的JavaScript风格规范。
markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
评论