๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ฆ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค (DB) ๐Ÿ“ฆ/๐Ÿ…พ ์˜ค๋ผํด DB & SQL

OVER, PARTITION BY

by Meteora_ 2021. 2. 15.
728x90
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
32
--OVER() ํ•จ์ˆ˜
--select์ ˆ์—์„œ๋งŒ ์‚ฌ์šฉ
--GROUP BY ๋ฅผ ๋ณด๊ฐ•ํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ํ•จ์Šˆ
--select ์ ˆ์—์„œ GROUP์„ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ์‚ฌ์šฉ๊ฐ€๋Šฅ
 
SELECT count(*), department_id --์—๋Ÿฌ
FROM employees;
 
 
SELECT count(*), department_id --์—๋Ÿฌ
FROM employees
GROUP BY department_id;
 
 
SELECT  department_id, COUNT(*)OVER() --์—๋Ÿฌ
FROM employees;
 
SELECT first_name, department_id, COUNT(DISTINCT department_id)OVER()
FROM employees;
 
--PARTITION BY == SELECT  ์•ˆ์˜ GROUP BY
SELECT department_name,
    count(*)OVER(PARTITION BY department_id)
FROM departments;
 
SELECT department_id, first_name, salary
    ,COUNT(*)OVER(PARTITION BY department_id)
FROM employees;
 
---COUNT(*) OVER() :์ „์ฒด ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
---COUNT(*) OVER(PARTITION BY ์ปฌ๋Ÿผ) : ์ปฌ๋Ÿผ์„ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ„์–ด ROW์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
 
cs

๋Œ“๊ธ€