按某个字段的,几个值为一组进行分组

时间:2022-10-16 14:58:44
按某个字段的,几个值为一组进行分组

按type的值分组, 为A 、B一组,C、D一组, E、f为一组
查询出来 三组的 sum(age)
这个脚本怎么写

4 个解决方案

#1


自己搞一列出来,替换成三组,然后按它分组汇总

#2


引用 1 楼 py418578291 的回复:
自己搞一列出来,替换成三组,然后按它分组汇总

你的意思是说增加一列,比如叫type2 
type 值A、B的给type2的值为 1,type 值C、D的给type2的值为 2,type 值E、f的给type2的值为 3,然后按type2分组吧

#3


按某个字段的,几个值为一组进行分组

#4


先case when到子表,在group by

SELECT TABLE_TEMP.TYPE,SUM(TABLE_TEMP.AGE)
FROM (SELECT AGE,
      CASE WHEN TYPE='A' OR TYPE='B' THEN 'AB'
      CASE WHEN TYPE='C' OR TYPE='D' THEN 'CD'  
      CASE WHEN TYPE='E' OR TYPE='F' THEN 'EF'
      ELSE '' END TYPE
      FROM TABLENAME) TABLE_TEMP
GROUP BY TABLE_TEMP.TYPE

#1


自己搞一列出来,替换成三组,然后按它分组汇总

#2


引用 1 楼 py418578291 的回复:
自己搞一列出来,替换成三组,然后按它分组汇总

你的意思是说增加一列,比如叫type2 
type 值A、B的给type2的值为 1,type 值C、D的给type2的值为 2,type 值E、f的给type2的值为 3,然后按type2分组吧

#3


按某个字段的,几个值为一组进行分组

#4


先case when到子表,在group by

SELECT TABLE_TEMP.TYPE,SUM(TABLE_TEMP.AGE)
FROM (SELECT AGE,
      CASE WHEN TYPE='A' OR TYPE='B' THEN 'AB'
      CASE WHEN TYPE='C' OR TYPE='D' THEN 'CD'  
      CASE WHEN TYPE='E' OR TYPE='F' THEN 'EF'
      ELSE '' END TYPE
      FROM TABLENAME) TABLE_TEMP
GROUP BY TABLE_TEMP.TYPE