Oracle的group by分組,子句增強

2021-10-05 09:14:15 字數 2539 閱讀 5884

開篇還是想吐槽一下這個oracle的group by分組,沒有mysql那麼好用,可能是mysql用習慣了 :- (

create

table employees

( employee_id number(8)

notnull

,--員工id

manager_id number(6)

,--經理id

salary number(8,

2),--工資

employees_name varchar2(25)

notnull

,--員工名字

entry_date date

notnull

--入職時間);

insert

into employees values

(1000

,100

,10000

,'jack1'

,sysdate -

365)

;insert

into employees values

(1001

,101

,10000

,'jack2'

,sysdate -

200)

;insert

into employees values

(1002

,101

,8000

,'jack3'

,sysdate -

100)

;insert

into employees values

(1003

,102

,8500

,'jack4'

,sysdate -

150)

;insert

into employees values

(1004

,102

,8000

,'jack5'

,sysdate -

100)

;insert

into employees values

(1005

,102

,8000

,'jack6'

,sysdate -

100)

;insert

into employees values

(1006

,100

,8000

,'jack7'

,sysdate -

100)

;insert

into employees values

(100

,null

,20000

,'jack8'

,sysdate -

800)

;

1.普通分組

select employees_name, manager_id ,

sum(salary)

from employees where manager_id =

100group

by employees_name,manager_id;

2.rollup分組(它會根據某個列名再進行匯**計)

3.cube分組

4.grouping查詢是否分組,顯示 0 表示經過分組,顯示 1 表示未經過分組

Oracle高階查詢之GROUP BY

為了方便大家學習和測試,所有的例子都是在oracle自帶使用者scott下建立的。現在客戶的需求是統計部門中每種工作的工資總額,最後還需要統計所有人的工資總數,相信這樣的需求對大家來說還是比較簡單的,很快就能寫出sql語句,如下 sql view plain copy select deptno,j...

Oracle高階查詢之GROUP BY

對於group by 的方式不再累贅,高階方式如下案例。為了方便大家學習和測試,所有的例子都是在oracle自帶使用者scott下建立的。所用emp表,如果沒有此表請參考文章 中拷貝 現在客戶的需求是統計部門中每種工作的工資總額,最後還需要統計所有人的工資總數,相信這樣的需求對大家來說還是比較簡單的...

oracle資料庫GROUP BY 子句

1.group by子句 在select 列表中所有未包含在組函式中的列都應該包含在group by 子句中.如下 select deptno,g sal from emp group by deptno deptno為沒有包含在組函式的列 以下查詢是錯誤的 select a,b,c,g sal f...