Grouping函式使用
Grouping函式使用
[@more@] --三級彙總
insert into tb_test
select
$1
,case
when grouping (c.fee_area) = 1 then '0'
when grouping (c.fee_area_name) = 1 then '0'
when grouping (c.area_code) = 1 then c.fee_area
when grouping (c.area_code_name) = 1 then c.fee_area
else c.area_code
end as "organize_id"
,case
when grouping (c.fee_area) = 1 then '9'
when grouping (c.fee_area_name) = 1
then decode (c.fee_area,
'771', '1',
'772', '2',
'775', '3',
'773', '4',
'779', '5',
'774', '6',
'776', '7',
'778', '8',
'999', '99',
'99'
)
when grouping (c.area_code_name) = 1
then decode (c.fee_area,
'771', 'A2199',
'772', 'A2299',
'775', 'A2699',
'773', 'A2399',
'779', 'A2599',
'774', 'A2499',
'776', 'A2899',
'778', 'A2799',
'999', 'A9999',
'99999'
)
else a.area_code
end as "area_code1"
,case
when grouping (c.fee_area) = 1 then '廣西合計'
when grouping (c.fee_area_name) = 1
then decode (c.fee_area,
'771', '南寧',
'772', '柳州',
'775', '玉林',
'773', '桂林',
'779', '北海',
'774', '梧州',
'776', '百色',
'778', '河池',
'999', '不詳',
'不詳'
)
when grouping (c.area_code_name) = 1
then decode (c.fee_area,
'771', '南寧合計',
'772', '柳州合計',
'775', '玉林合計',
'773', '桂林合計',
'779', '北海合計',
'774', '梧州合計',
'776', '百色合計',
'778', '河池合計',
'999', '不詳合計',
'不詳'
)
else c.area_code_name
end as "area_desc"
,sum(group_count1)
,sum(group_count2)
,sum(group_count3)
,sum(group_count4)
,sum(group_count5)
,sum(group_count6)
from tp_test_mid a -- 該表可用任意業務表代替
left outer join hwdic.tb_dic_area_sort c
on a.area_code = c.area_code
group by grouping sets ((c.fee_area,c.fee_area_name,c.area_code,c.area_code_name,a.area_code) -- 2101 2101 南寧西區分公司
,(c.fee_area,c.fee_area_name,a.area_code,c.area_code_name) -- 771 2101 南寧西區分公司
,(c.fee_area,c.fee_area_name) -- 771 2199 南寧合計
,(c.fee_area) -- 0 1 南寧
,()
)
;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/77311/viewspace-1020757/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分析函式 - GROUPING SETS函式
- 分析函式 - GROUPING_ID函式
- 分析函式 - CUBE和GROUPING SETS函式
- 分析函式 - ROLLUP和GROUPING SETS函式
- Oracle的rollup、cube、grouping sets函式Oracle函式
- 解析數倉OLAP函式:ROLLUP、CUBE、GROUPING SETS函式
- R語言中的迴圈函式(Grouping Function)R語言函式Function
- MySQL8.0-分組函式ROLLUP的基本用法(GROUPING)MySql函式
- GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
- 資料倉儲開發報表常用函式—ROLLUP和GROUPING函式
- PostgreSQL 原始碼解讀(73)- 查詢語句#58(grouping_planner函式...SQL原始碼函式
- Oracle OCP(13):GROUPING & GROUPING_ID & GROUP_ID & GROUPING SETSOracle
- 函式: 函式是怎麼使用的?函式
- 何時使用函式表示式與函式宣告函式
- edge函式使用函式
- 【Java】函式使用Java函式
- pipe函式使用函式
- 02_函式定義及使用函式函式
- SQL groupingSQL
- 如何使用函式指標呼叫類中的函式和普通函式函式指標
- round函式與trunc函式的使用方法函式
- 【函式】Oracle中聚合函式rank()使用方法函式Oracle
- Shell 函式的使用函式
- Thunk函式的使用函式
- Generator 函式的使用函式
- Spark Sql 函式使用SparkSQL函式
- LNNVL函式的使用函式
- exe等函式使用函式
- Oracle over()函式使用Oracle函式
- 索引中使用函式索引函式
- sqlserver DATEPART函式使用SQLServer函式
- smarty塊函式使用函式
- 使用bind()函式的產生的函式用作建構函式this的指向函式
- [Developer] Grouping setsDeveloper
- 函式指標使用c++類成員函式函式指標C++
- vb如何使用ftp函式,vb如何使用ftp函式要知道這些FTP函式
- async函式使用場景函式
- 高階函式的使用函式