oracle( 字段b) 取字面b 取字符串的前三位 如何进行分组求和 ?详细如下~~~
select t.*,count(1) count from (select substr(字段名b,0,3) b from 表名) t group by t.字段名b order by 字段名b
--第一步截取字符串前三位substr 第二部进行分组排序
oracle先分组再求和
1、最简单的方法,使用 UNION
SELECT '苹果' AS NAME, SUM(WEIGHT) AS WEIGHT FROM ZZZZ_TTTT WHERE NAME LIKE '%苹果'
UNION ALL
SELECT '梨' AS NAME, SUM(WEIGHT) AS WEIGHT FROM ZZZZ_TTTT WHERE NAME LIKE '%梨'
2、使用 CASE WHEN
SELECT NAME, SUM(WEIGHT)
FROM (SELECT CASE
WHEN INSTR(NAME, '苹果') 0 THEN
'苹果'
ELSE
'梨'
END AS NAME,
WEIGHT
FROM ZZZZ_TTTT)
GROUP BY NAME
* ZZZZ_TTTT 为表名
oracle 多字段分组取每组求和
select t.* ,
sum(统计字段名) over(partition by 分组字段1),
sum(统计字段名) over(partition by 分组字段2),
sum(统计字段名) over(partition by 分组字段3),
......
sum(统计字段名) over(partition by 分组字段n)
from t ;
千锋教育是专业的IT培训机构,提供java培训、大数据培训、python培训、web前端培训等专业IT技能提升服务,如果您有IT培训需求,欢迎联系千锋教育。