應公司業務要求,需要對數據進行分組彙總做輔助列進行查詢 所以使用到了sum(col1) over(partition by col2 order by col3)函數,為了學習與提高在此進行記錄。 1、準備數據源 2、插入數據 3、進行查詢 查詢結果如下圖: 這裡對DEP_NO進行分組,根據NAME ...
應公司業務要求,需要對數據進行分組彙總做輔助列進行查詢
所以使用到了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;
查詢結果如下圖:
這裡對DEP_NO進行分組,根據NAME進行排序,然後統計每組遞增彙總結果!