case when 中如何使用计数

提示:两种方法,一种是SUM(1),一种是COUNT(column_name)

SUM(1)指的是:符合要求的返回1,然后case when外部用sum进行求和,

COUNT(column_name)指的是:符合要求的记录一个唯一id,最后就相当于COUNT(id)

示例:

SELECT MIN(province_id) provinceNumber, MIN(province_name) provinceName,
               COUNT(project_id)                                                       a,
               SUM(this_issue_money)                                                   b,
               SUM(CASE
                       WHEN is_not_exit = true THEN
                           1
                   END)                                                                c,
               SUM(this_issue_money)                                                   d,
               SUM(CASE WHEN is_not_exit = true AND enterprise_type_id = 1 THEN 1 END) e,
               SUM(CASE
                       WHEN
                           enterprise_type_id = 1 THEN this_issue_money END)           f,
               SUM(CASE WHEN is_not_exit = true AND enterprise_type_id = 2 THEN 1 END) g,
               SUM(CASE
                       WHEN
                           enterprise_type_id = 2 THEN this_issue_money END)           h,
               SUM(CASE WHEN is_not_exit = true AND enterprise_type_id = 2 THEN 1 END) j,
               SUM(CASE
                       WHEN
                           enterprise_type_id = 2 THEN this_issue_money END)           k
        FROM l

换成COUNT,那么就是

select  COUNT(CASE WHEN is_not_exit = true then id) FROM L

 

posted on 2020-09-20 10:53  我欲皆真  阅读(3125)  评论(0编辑  收藏  举报

导航