tft每日頭條

 > 生活

 > oraclecolumn排序

oraclecolumn排序

生活 更新时间:2025-01-21 04:56:13
概述

業務要求:需要對數據進行分組彙總做輔助列進行查詢

所以使用到了sum(col1) OVER(partition by col2 order by col3)函數,通過這個函數來實現分組遞增彙總,在這裡順便分享給大家。


實驗測試

1、準備數據源

CREATE TABLE TEST01 ( NAME VARCHAR(20), DEP_NO VARCHAR(10), SALARY NUMBER(20,2) );

2、插入數據

INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('張三','0010',12000); INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('李四','0010',12500); INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('王五','0020',13000); INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('趙六','0020',11000); INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('田七','0020',10000); INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('如花','0030',8000); INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('阿卡','0030',9000); INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('似玉','0030',9500); INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('撒人','0030',8800); INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('三忍','0030',6000); INSERT INTO TEST01(NAME,DEP_NO,SALARY) VALUES('三舞','0030',6600);

3、進行查詢

SELECT T.NAME ,T.SALARY ,T.DEP_NO ,SUM(T.SALARY) OVER(PARTITION BY T.DEP_NO ORDER BY T.NAME) FROM TEST01 T;

查詢結果如下圖:

oraclecolumn排序(oracle分組遞增彙總sum)1

這裡對DEP_NO進行分組,根據NAME進行排序,然後統計每組遞增彙總結果!


PS:後面會分享更多運維DBA方面的内容,感興趣的朋友可以關注下~

oraclecolumn排序(oracle分組遞增彙總sum)2

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved