MapleStory Finger Point

๐Ÿƒ‍โ™€๏ธprogrammers/SQL 3

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค SQL] ์ƒํ’ˆ์„ ๊ตฌ๋งคํ•œ ํšŒ์› ๋น„์œจ ๊ตฌํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/131534๋ฌธ์ œ : ์ƒํ’ˆ์„ ๊ตฌ๋งคํ•œ ํšŒ์› ๋น„์œจ ๊ตฌํ•˜๊ธฐ Lv.5์ฒด๊ฐ Level : โ˜… โ˜… โ˜… ์–ธ์–ด : MySQLReview: ๋ฌธ์ œ์ดํ•ด๋ž‘ ์กฐ๊ฑด์ฒ˜๋ฆฌ๊ฐ€ ์ „๋ฐ˜์ ์œผ๋กœ ์–ด๋ ค์› ๋‹ค. ๐Ÿ’ก 2021๋…„์— ๊ฐ€์ž…ํ•œ ์ „์ฒด ํšŒ์›๋“ค WITH CTE AS ( SELECT COUNT(*) AS C_2021 FROM USER_INFO WHERE YEAR(JOINED) = 2021) ๐Ÿ’ก๋…„, ์›” ๋ณ„ํ…Œ์ด๋ธ”์— ๋”ฐ๋กœ 2021๋…„์— ๊ฐ€์ž…ํ•œ ํšŒ์›๋“ค  +  YEAR / MONTH ๋กœ ๊ทธ๋ฃนํ•‘SELECT *FROM ONLINE_SALE, CTEWHERE USER_ID IN ( SELECT USER_ID FROM USER_I..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค SQL] ๋ฉธ์ข…์œ„๊ธฐ์˜ ๋Œ€์žฅ๊ท  ์ฐพ๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/301651 ๋ฌธ์ œ : ๋ฉธ์ข…์œ„๊ธฐ์˜ ๋Œ€์žฅ๊ท  ์ฐพ๊ธฐ Lv. 5 ์–ธ์–ด : MySQL ์ฒด๊ฐ Level : โ˜… โ˜… โ˜… Review: ๊ณ„์ธต ๊ตฌ์กฐ์— ๋Œ€ํ•˜์—ฌ! ๐Ÿ’ก  ๋จผ์ € ๊ฐ์ฒด๋“ค์˜ ์„ธ๋Œ€๋ฅผ ์•Œ๊ธฐ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋ถ€๋ชจ-์ž์‹ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ํƒ์ƒ‰ํ•˜๊ฒŒ๋œ๋‹ค.์ด๋•Œ ์•„๋ž˜์ฒ˜๋Ÿผ ๋…ธ๊ฐ€๋‹ค ์ฝ”๋“œ๊ฐ€ N๋ฒˆ ๋ฐ˜๋ณต๋˜๋Š”๋ฐ .... ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ์œ„ํ•ด์„œ๋Š” RECURSIVE  ๋ฌธ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค.  `RECURSIVE` ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ๋‹ค.`WITH RECURSIVE cte_name AS (...)` : ์žฌ๊ท€ ์ปค๋ฆฌ ์ •์˜`Anchor Member` : ๊ธฐ๋ณธ ์ฟผ๋ฆฌ ์ •์˜ (์ตœ์ดˆ์˜ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ ์„ค์ •)`UNION ALL` : ๋‘๊ฐœ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํ•ฉ`Recursive Me..

[SQL] ๊ฐ€์žฅ ํฐ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/284527 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr   LIMIT DESC (๋‚ด๋ฆผ์ฐจ์ˆœ) ์œผ๋กœ ํ•ด์„œ LIMIT 1์„ ์‚ฌ์šฉํ•ด์„œ ์ œ์ผ ํฐ๊ฐ’ ํ•˜๋‚˜๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•   ์ˆœ์œ„ํ•จ์ˆ˜ : RANK() / DENSE_RANK() / ROW_NUMBER()RANK() OVER ([PARTITION BY ์ปฌ๋Ÿผ] ORDER BY ์ปฌ๋Ÿผ [ASC|DESC]) WHERE RANKING = 1 ์„ ํ†ตํ•ด์„œ ๋žญํ‚น์ด 1์œ„์ธ ๊ฐ’์„ ์ถœ๋ ฅ   ์„œ๋ธŒ์ฟผ๋ฆฌ : MAX()์„œ๋ธŒ์ฟผ๋ฆฌ์„ ํ†ตํ•ด  MAX() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์ตœ๋Œ€๊ฐ’ ์ถœ๋ ฅ   ์„ฑ๋Šฅ ? ..