Data Analytics

SQL - Window Functions

ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, NTILE, SUM OVER, PARTITION BY, frames

20 ๋ฉด์ ‘ ์งˆ๋ฌธยท
Mid-Level
1

SQL์—์„œ window function์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

window function์€ ํ˜„์žฌ ํ–‰๊ณผ ๊ด€๋ จ๋œ ํ–‰ ์ง‘ํ•ฉ์— ๋Œ€ํ•ด ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๊ฒฐ๊ณผ๋ฅผ ๋‹จ์ผ ์ถœ๋ ฅ ํ–‰์œผ๋กœ ์ถ•์†Œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ–‰ ์ˆ˜๋ฅผ ์ค„์ด๋Š” GROUP BY์™€ ๋‹ฌ๋ฆฌ, window function์€ ๊ณ„์‚ฐ๋œ ์—ด์„ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ๊ฒฐ๊ณผ์˜ ๋ชจ๋“  ํ–‰์„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. OVER() ์ ˆ์€ ๊ณ„์‚ฐ์ด ์ˆ˜ํ–‰๋˜๋Š” ์œˆ๋„์šฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

2

window function์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜์ธ ์ ˆ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

OVER() ์ ˆ์€ ๋ชจ๋“  window function์— ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด๋Š” SQL ์—”์ง„์— ํ•จ์ˆ˜๊ฐ€ ์ผ๋ฐ˜ ์ง‘๊ณ„ ํ•จ์ˆ˜๊ฐ€ ์•„๋‹Œ window function์œผ๋กœ ์‹คํ–‰๋˜์–ด์•ผ ํ•จ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. OVER()๋Š” PARTITION BY, ORDER BY ๋ฐ frame ์ง€์ •์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ „์ฒด ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์— ๊ณ„์‚ฐ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋น„์›Œ๋‘˜ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

3

window function์—์„œ PARTITION BY์˜ ์—ญํ• ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

PARTITION BY๋Š” ํ–‰ ์ง‘ํ•ฉ์„ ๋…๋ฆฝ์ ์ธ ๊ทธ๋ฃน(ํŒŒํ‹ฐ์…˜)์œผ๋กœ ๋‚˜๋ˆ„๊ณ , window function์€ ๊ฐ ํŒŒํ‹ฐ์…˜์— ๊ฐœ๋ณ„์ ์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. GROUP BY์™€ ๋‹ฌ๋ฆฌ PARTITION BY๋Š” ๊ฒฐ๊ณผ์˜ ํ–‰ ์ˆ˜๋ฅผ ์ค„์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, SUM(sales) OVER(PARTITION BY region)์€ ๊ฐ ๊ฐœ๋ณ„ ํ–‰์„ ๋ณด์กดํ•˜๋ฉด์„œ ์ง€์—ญ๋ณ„ ์ด ๋งค์ถœ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

4

GROUP BY์™€ PARTITION BY์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

5

ROW_NUMBER() OVER(ORDER BY salary DESC)๋Š” ๋ฌด์—‡์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๊นŒ?

+17 ๋ฉด์ ‘ ์งˆ๋ฌธ

๊ธฐํƒ€ Data Analytics ๋ฉด์ ‘ ์ฃผ์ œ

Google Sheets - ๊ธฐ์ดˆ

Junior
20๊ฐœ ์งˆ๋ฌธ

Google Sheets - ๊ณ ๊ธ‰ ์ˆ˜์‹

Junior
20๊ฐœ ์งˆ๋ฌธ

SQL - ๊ธฐ์ดˆ

Junior
25๊ฐœ ์งˆ๋ฌธ

SQL - ์ง‘๊ณ„ ๋ฐ ๊ทธ๋ฃนํ™”

Junior
20๊ฐœ ์งˆ๋ฌธ

SQL - ์กฐ์ธ

Junior
20๊ฐœ ์งˆ๋ฌธ

BigQuery - ๊ธฐ์ดˆ

Junior
20๊ฐœ ์งˆ๋ฌธ

Data Cleaning - ๋ฐ์ดํ„ฐ ์ •์ œ

Junior
20๊ฐœ ์งˆ๋ฌธ

KPI ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋ฉ”ํŠธ๋ฆญ

Junior
20๊ฐœ ์งˆ๋ฌธ

๊ธฐ์ˆ  ํ†ต๊ณ„

Junior
20๊ฐœ ์งˆ๋ฌธ

Zapier์™€ No-Code ์ž๋™ํ™”

Junior
20๊ฐœ ์งˆ๋ฌธ

๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ์›์น™

Junior
20๊ฐœ ์งˆ๋ฌธ

Python & Pandas - ๊ธฐ์ดˆ

Junior
20๊ฐœ ์งˆ๋ฌธ

Google Sheets - ์ž๋™ํ™”๋œ ๋Œ€์‹œ๋ณด๋“œ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

SQL - ์„œ๋ธŒ์ฟผ๋ฆฌ์™€ CTE

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

BigQuery - ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Data Modeling

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

ํผ๋„ ๋ฐ ์ „ํ™˜ ๋ถ„์„

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

์ฝ”ํ˜ธํŠธ ๋ฐ ๋ฆฌํ…์…˜ ๋ถ„์„

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Google Tag Manager ๋ฐ ํŠธ๋ž˜ํ‚น

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

API์™€ ์›นํ›…

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

dbt - ๊ธฐ์ดˆ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

AB ํ…Œ์ŠคํŠธ์™€ ์‘์šฉ ํ†ต๊ณ„ํ•™

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Looker Studio (Google Data Studio)

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Power BI - ๊ธฐ์ดˆ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

SQL - ๊ณ ๊ธ‰ ๋ถ„์„ ์ฟผ๋ฆฌ

Senior
20๊ฐœ ์งˆ๋ฌธ

dbt - ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ

Senior
20๊ฐœ ์งˆ๋ฌธ

Power BI - DAX ๋ฐ ๊ณ ๊ธ‰ ๋Œ€์‹œ๋ณด๋“œ

Senior
20๊ฐœ ์งˆ๋ฌธ

Python Analytics - ๊ณ ๊ธ‰ ๋ถ„์„ ๋ฐ ML

Senior
20๊ฐœ ์งˆ๋ฌธ

๋‹ค์Œ ๋ฉด์ ‘์„ ์œ„ํ•ด Data Analytics์„ ๋งˆ์Šคํ„ฐํ•˜์„ธ์š”

๋ชจ๋“  ์งˆ๋ฌธ, flashcards, ๊ธฐ์ˆ  ํ…Œ์ŠคํŠธ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์—ฐ์Šต, ๋ฉด์ ‘ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ์ ‘๊ทผํ•˜์„ธ์š”.

๋ฌด๋ฃŒ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ