開篇還是想吐槽一下這個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...