티스토리 뷰

sql

ROLLUP(), CUBE(), RANK, ROW_NUMBER()

개몽구리 2018. 3. 20. 17:28

ROLLUP()

1
2
3
4
5
6
7
8
SELECT b.dname, a.job, SUM(a.sal) sal, COUNT(a.empno) emp_count

FROM emp a, dept b
 
WHERE a.deptno = b.deptno
 
GROUP BY ROLLUP(b.dname, a.job);
 
cs



CUBE()


1
2
3
4
5
6
7
8
SELECT b.dname, a.job, SUM(a.sal) sal, COUNT(a.empno) emp_count
 
FROM emp a, dept b
 
WHERE a.deptno = b.deptno
 
GROUP BY cube(b.dname, a.job)
 
cs



RANK()


1
2
3
4
5
6
7
8
9
10
SELECT b.dname, a.job, SUM(a.sal) sal
 
       ,RANK() OVER(ORDER BY SUM(a.sal))
 
FROM emp a, dept b
 
WHERE a.deptno = b.deptno
 
GROUP BY b.dname, a.job
 
cs



DENSE_RANK()


1
2
3
4
5
6
7
8
9
10
SELECT b.dname, a.job, SUM(a.sal) sal
 
                ,DENSE_RANK() OVER(ORDER BY SUM(a.sal))
 
FROM emp a, dept b
 
WHERE a.deptno = b.deptno
 
GROUP BY b.dname, a.job
 
cs


ROW_NUMBER()

1
2
3
4
5
6
7
8
9
10
SELECT b.dname, a.job, SUM(a.sal) sal
 
                ,ROW_NUMBER() OVER(ORDER BY SUM(a.sal))
 
FROM emp a, dept b
 
WHERE a.deptno = b.deptno
 
GROUP BY b.dname, a.job
 
cs



'sql' 카테고리의 다른 글

sysdba 접속 불가  (0) 2019.01.23
자원 대기중 교착 상태 검출 에러  (0) 2019.01.23
시퀀스 추출  (0) 2019.01.23
ORACLE DB dump(pump) - Import  (0) 2018.04.29
over() 함수_partition  (0) 2018.03.20
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함