使用 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的一个问题...
评论