ISLEAF = 1 : ๋ด๊ฐ ์ฝ์ ๋ฐ์ดํฐ๊ฐ ์์์ด ์์ผ๋ฉด 1, ์์ผ๋ฉด 0
SELECT A, B, AVG(SAL) OVER ( PARTITIONA BY DEPT
ORDER BY SAL
BETWEEN 1 PRECEDING
AND 1 FLLOWING ) AS C1
FROM your_table;
- SELECT A, B: A์ B๋ผ๋ ๋ ๊ฐ์ ์ปฌ๋ผ์ ์ ํํฉ๋๋ค.
- AVG(SAL) OVER (...) AS C1: SAL ์ปฌ๋ผ์ ๊ฐ์ ๋ฐ๋ผ ์ ๋ ฌ๋ ์๋์ฐ(๋ฐ์ดํฐ์ ํ์ ์งํฉ) ๋ด์์ ํ๊ท ๊ธ์ฌ๋ฅผ ๊ณ์ฐํ๊ณ , ์ด ๊ฒฐ๊ณผ๋ฅผ C1์ด๋ผ๋ ๋ณ์นญ์ผ๋ก ํ์ํฉ๋๋ค.
- PARTITIONA BY DEPT : ๊ฐ DEPT (๋ถ์)๋ ๋ณ๋์ ํํฐ์ ์ผ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค.
- ORDER BY SAL: ์๋์ฐ๋ฅผ SAL ์ปฌ๋ผ์ ๊ฐ์ ๋ฐ๋ผ ์ ๋ ฌํฉ๋๋ค.
- BETWEEN 1 PRECEDING AND 1 FOLLOWING: ํ์ฌ ํ์ ๊ธฐ์ค์ผ๋ก ๋ฐ๋ก ์(1 preceding)๊ณผ ๋ฐ๋ก ๋ค(1 following) ํ์ ํฌํจํ ์๋์ฐ๋ฅผ ์ ์ํฉ๋๋ค. ์ฆ, ๊ฐ ํ์ ๋ํด ํด๋น ํ, ๊ทธ ์์ ํ, ๊ทธ๋ฆฌ๊ณ ๋ค์ ํ์ ํฌํจํ์ฌ ํ๊ท ์ ๊ณ์ฐํฉ๋๋ค.
SELECT A, B, C, GROUPING_ID(A, B, C), SUM(value)
FROM your_table
GROUP BY ROLLUP(A, B, C);
GROUPING_ID(A, B, C)
(2^2, 2^1, 2^0) (4,2,1)
A๋ง ์ฐธ์ฌ : 2+1 = 3
A, B ์ฐธ์ฌ : 1
A, B, C ์ฐธ์ฌ X : 4+2+1 = 7
DECADE(col1, 'A', col2, 'B', col3, 'C', 'Z' ) : col1์ด๋ฉด A, col2์ด๋ฉด B, col3์ด๋ฉด C, ํด๋น ์์ผ๋ฉด Z
ORGER BY ์ ์๋ช ASC, ํ๋ช , 3 DESC : ์ ์๋ช ๊ณผ ํ๋ช ์ ์ค๋ฆ์ฐจ์, ์ฐ๋ด์ ๋ด๋ฆผ์ฐจ์
SELECT์ ์ ์๋ ์ปฌ๋ผ์ 1 2 ๊ฐ์ ์ ์ ์๋ฆฌ์๋ก ORDER BY ์๋จ
NTILE(4) 10๊ฐ๋ฅผ 4๊ฐ๋ก ๋๋ ๋ 3 3 2 2 ๋ก ๋๋จ
NTILE(3) 5๊ฐ๋ฅผ 3๊ฐ๋ก ๋๋ ๋ 2 2 1 ๋ก ๋๋จ
'๐๏ธ ๊ธฐ์ ์ฌํ > SQLD' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๊ธฐ] SQLD ์ํ ์ ์ ๋ฐฉ๋ฒ (2) | 2023.11.20 |
---|---|
[ํ๊ธฐ] sqld 51ํ์ฐจ ์ํ ์์ ํ๊ธฐ (0) | 2023.11.18 |
[SQLD๋ฒผ๋ฝ์น๊ธฐ] SQL ์๊ฒฉ๊ฒ์ ์ค์ ๋ฌธ์ ์ค๋ต๋ ธํธ(2๊ณผ๋ชฉ-3) (2) | 2023.11.17 |
[SQLD๋ฒผ๋ฝ์น๊ธฐ] SQL ์๊ฒฉ๊ฒ์ ์ค์ ๋ฌธ์ ์ค๋ต๋ ธํธ(2๊ณผ๋ชฉ-2) (0) | 2023.11.17 |
[SQLD๋ฒผ๋ฝ์น๊ธฐ] SQL ์๊ฒฉ๊ฒ์ ์ค์ ๋ฌธ์ ์ค๋ต๋ ธํธ(2๊ณผ๋ชฉ-1) (0) | 2023.11.17 |