Leetcode SQL50 (1341)

Pocketopiยท2025๋…„ 4์›” 20์ผ

[MYSQL] Leetcode

๋ชฉ๋ก ๋ณด๊ธฐ
15/34
post-thumbnail

๐Ÿ”” ๋ฌธ์ œ

LeetCode - Movie Rating๐Ÿฟ
์‚ฌ์šฉ์ž์™€ ์˜ํ™”์— ๋Œ€ํ•œ ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ,
๊ฐ€์žฅ ๋งŽ์€ ์˜ํ™”๋ฅผ ํ‰๊ฐ€ํ•œ ์‚ฌ์šฉ์ž์™€,
2020๋…„ 2์›” ๋™์•ˆ ํ‰๊ท  ํ‰์ ์ด ๊ฐ€์žฅ ๋†’์€ ์˜ํ™”๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ

๐ŸŽฏ ํ’€์ด ๋ฐฉ๋ฒ•

๐Ÿ”‘ ํ•ต์‹ฌ ํฌ์ธํŠธ

์ฒซ ๋ฒˆ์งธ ๋ฉ”์ธ์ฟผ๋ฆฌ : ํ‰์ ์„ ๋งŽ์ด ๋‚จ๊ธด ์œ ์ € ๋ฝ‘๊ธฐ
UNION ALL (UNION ์‹œ ์˜ํ™”์ด๋ฆ„๊ณผ ์œ ์ €์ด๋ฆ„์ด ๊ฐ™์œผ๋ฉด ํ•˜๋‚˜๋งŒ ์ถœ๋ ฅ๋Œ)
๋‘ ๋ฒˆ์งธ ๋ฉ”์ธ์ฟผ๋ฆฌ : 2์›”์— ๊ฐ€์žฅ ์ธ๊ธฐ์žˆ๋˜ ์˜ํ™” ๋ฝ‘๊ธฐ

๐Ÿ’ป ์ „์ฒด ์ฟผ๋ฆฌ

(SELECT NAME AS RESULTS
FROM USERS NATURAL JOIN MOVIERATING
GROUP BY USER_ID
ORDER BY COUNT(USER_ID) DESC, NAME
LIMIT 1)

UNION ALL

(SELECT TITLE AS RESULTS
FROM MOVIES NATURAL JOIN MOVIERATING
WHERE YEAR(CREATED_AT) = 2020 AND MONTH(CREATED_AT) = 2
GROUP BY MOVIE_ID
ORDER BY AVG(RATING) DESC, TITLE
LIMIT 1)

๐Ÿ’ก ํ•ต์‹ฌ ๋ฌธ๋ฒ• ์š”์•ฝ ๋ฐ ๋ฐฐ์šด์ 

  • UNION(ALL)์„ ์‚ฌ์šฉํ•  ๋• ๊ฐ๊ฐ์˜ ์ฟผ๋ฆฌ์— ORDER BY์™€ LIMIT๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜
    ์—†์–ด ๊ฐ๊ฐ์— ๊ด„ํ˜ธ๋ฅผ ๋‹ฌ์•„์ฃผ์—ˆ๋‹ค.
  • UNION ALL : UNION์—์„œ ๊ฒน์น˜๋Š” ๋ฐ์ดํ„ฐ๋„ ์ œ๊ฑฐํ•˜์ง€ ์•Š๊ณ  ์ถ”๊ฐ€

โฑ๏ธ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„: 9๋ถ„ 34์ดˆ

profile
ํ†ต๊ณ„ํ•™/์ปดํ“จํ„ฐ๊ณตํ•™ ์ „๊ณต 4ํ•™๋…„ ํ•™์ƒ DA๋ฟŒ์ˆ˜๊ธฐ ์ผ๊ธฐ์žฅ

0๊ฐœ์˜ ๋Œ“๊ธ€