在 Oracle APEX 的情况下使用 sum 进行列合并

Column merge using sum in case Oracle APEX

我需要帮助如何将列合并为一个列,这是我的代码,这个方法是否正确。我想获取列的 table 中所选行的计数。

SELECT
    CAT_MGR,
    SUM  ( case  when CAT_MGR = 'A' THEN 1    else 0 end ) AS DESIGN,
          sum (case  when CAT_MGR = 'b' THEN 1 else 0  END) AS DESIGN,
          sum (case  when CAT_MGR = 'c' THEN 1 else 0  END) AS DESIGN
 from Table_A
 GROUP BY
  CAT_MGR

你们能帮帮我吗我是 SQL 的初学者。

提前致谢

如果只需要结果集中的一行,请删除 group by 子句。然后,如果要将三个cat mgr一起统计,可以使用in:

select
    sum(case when cat_mgr = 'a' then 1 else 0 end ) as design_a,
    sum(case when cat_mgr = 'b' then 1 else 0 end ) as design_b,
    sum(case when cat_mgr = 'c' then 1 else 0 end ) as design_c,
    sum(case when cat_mgr in ('a', 'b', 'c') then 1 else 0 end ) as design
 from Table_a

你只需要像下面这样添加就可以得到一列“设计”

SELECT
    CAT_MGR,
      SUM (case  when CAT_MGR = 'A' THEN 1 else 0 end )
    + sum (case  when CAT_MGR = 'b' THEN 1 else 0 END)
    + sum (case  when CAT_MGR = 'c' THEN 1 else 0 END) 
   AS DESIGN
 from TJD_CORE_CATPB_TB
 GROUP BY
  CAT_MGR