๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ๐ŸŒฎ ๐Ÿ’ฌ

๐Ÿ’ป leetcode13

[LeetCode] Database | 178. Rank Scores Problem Example Thinking ์šฐ์„  ์‚ฝ์งˆ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด mysql์— ์ˆœ์œ„๋ฅผ ์ •ํ•ด์ฃผ๋Š”(rank) ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š”์ง€ ์ฐพ์•„๋ณด์•˜๋‹ค! ๋‹คํ–‰ํžˆ ๋‚ด๊ฐ€ ์ฐพ๋˜ ๊ฒƒ์ด ๋ฐ”๋กœ ์žˆ์—ˆ๋‹ค. Example์— ์žˆ๋Š” ํ…Œ์ด๋ธ” ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ–ˆ์„ ๋•Œ์˜ ๊ฒฐ๊ณผ๋กœ ๋น„๊ตํ•ด๋ณด์ž 1. RANK() : ๋™์ผํ•œ ๊ฐ’์ด๋ฉด ์ค‘๋ณต ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ๋‹ค์Œ ์ˆœ์œ„๋Š” ํ•ด๋‹น ๊ฐœ์ˆ˜๋งŒํผ ๊ฑด๋„ˆ๋„๊ณ  ๋ฐ˜ํ™˜ํ•œ๋‹ค. SELETE score, RANK() OVER (ORDER BY score DESC) AS rank FROM Scores; score rank 4.00 1 4.00 1 3.85 3 3.65 4 3.65 4 3.50 6 2. DENSE_RANK() : ๋™์ผํ•œ ๊ฐ’์ด๋ฉด ์ค‘๋ณต ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ๋‹ค์Œ ์ˆœ์œ„๋Š” ์ค‘๋ณต ์ˆœ์œ„์™€ ์ƒ๊ด€์—†์ด ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. SELETE score,.. 2022. 3. 16.
[LeetCode] Database | 177. Nth Highest Salary Problem Example Thinking n๋ฒˆ์งธ ํฐ ๊ฐ’์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋ผ .... n๋ฒˆ์งธ ํฐ ๊ฐ’์ด๋ฉด limit n์œผ๋กœ ํ•ด์„œ ์ ค ํฐ๊ฐ’๋ถ€ํ„ฐ n๋ฒˆ์งธ ํฐ ๊ฐ’๊นŒ์ง€ n๊ฐœ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ค‘์—์„œ ์ œ์ผ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋ฉด ๋˜๊ฒ ์ง€? ์ƒ๊ฐํ–ˆ๋‹ค ๊ทธ๋žฌ๋”๋‹ˆ wrong answer ์™œ? null์ด ๋‚˜์™€์•ผํ•˜๋Š”๋ฐ ๊ฐ’์ด ๋‚˜์™€๋ฒ„๋ ธ๋‹ค ํ  ..๊ทธ๋Ÿฌ๋ฉด์€ ์šฐ์„  .. ๊ฐ’๋“ค์ด ์ค‘๋ณต๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์œผ๋‹ˆ, distinct๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์ฃผ๊ณ  n๋ฒˆ์งธ ํฐ ๊ฐ’์ด ์—†์–ด์•ผํ•˜๋Š”๋ฐ ๋‚˜์™€๋ฒ„๋ฆฐ๊ฑฐ๋ฉด .. limit n ์œผ๋กœ ๋Š์–ด์ค€ ์• ๋“ค์ด n๋ณด๋‹ค ์ ์„ ๊ฒฝ์šฐ์— ๊ทธ๋ ‡๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. (์˜ˆ : 100, 300, 200, 200 ์—์„œ 4๋ฒˆ์งธ ํฐ ๊ฐ’? ---distinct--> 400, 300, 200์€ 4๋ฒˆ์งธ ํฐ ๊ฐ’์ด ์—†๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์กฐ๊ฑด์ ˆ์„ ๋„ฃ์–ด์ค˜์•ผํ•œ๋‹ค. .. 2022. 1. 18.
[LeetCode] Database | 176. Second Highest Salary Problem Example Thinking ์ตœ๋Œ“๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹Œ, 2๋ฒˆ์งธ๋กœ ํฐ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฑฐ์—์„œ ๋ฉˆ์นซ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ .. ์ตœ๋Œ“๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ๋‹จ์ˆœํžˆ MAX๋กœ ๊ฐ€์ ธ์˜ค๋ฉด ๋˜์ง€๋งŒ 2๋ฒˆ์งธ ํฐ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ? ๊ตฌ๊ธ€๋ง์„ ํ•˜๋‹ˆ ๋”ฐ๋กœ ๋‚ด์žฅ๋œ ํ•จ์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๊ทธ๋Ÿผ ์ œ์ผ ํฐ ๊ฐ’๋ณด๋‹ค ์ž‘์€ ๊ฐ’๋“ค ์ค‘์—์„œ ์ œ์ผ ํฐ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋ฉด ๋˜๊ฒ ๋‹ค! Solve ์ œ์ถœ ๋‹ต์•ˆ SELECT MAX(salary) AS SecondHighestSalary FROM Employee WHERE salary < (SELECT MAX(salary) FROM Employee); https://leetcode.com/problems/second-highest-salary Second Highest Salary - Lee.. 2022. 1. 18.
[LeetCode] Database | 1179. Reformat Department Table Problem Example Thinking column์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด์ค˜์•ผ ํ•œ๋‹ค. month์— ๋งž์ถฐ์„œ (month)_Revenue ๋ผ๊ณ  ์ƒ์„ฑ์„ ํ•ด์ฃผ์ž ๊ทธ๋ฆฌ๊ณ  id๋กœ ๋ฌถ์–ด์ฃผ๊ธฐ ์œ„ํ•ด group by ! Solve ์ œ์ถœ ๋‹ต์•ˆ SELECT id , SUM(CASE WHEN month = "Jan" THEN revenue END) AS Jan_Revenue , SUM(CASE WHEN month = "Feb" THEN revenue END) AS Feb_Revenue , SUM(CASE WHEN month = "Mar" THEN revenue END) AS Mar_Revenue , SUM(CASE WHEN month = "Apr" THEN revenue END) AS Apr_Revenue , SUM(CASE WH.. 2022. 1. 13.
[LeetCode] Database | 620. Not Boring Movies Problem Example Thinking id๊ฐ€ ํ™€์ˆ˜์ธ ์•„์ด๋“ค๋งŒ ๊ฐ€์ง€๊ณ  ์™€์•ผ ํ•œ๋‹ค. 2๋กœ ๋‚˜๋ˆ ์ฃผ์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 1์ธ ์• ๋“ค๋งŒ ๊ฐ€์ง€๊ณ  ์˜ค๋ ค๋ฉด MOD(id, 2) = 1 ๊ทธ๋ฆฌ๊ณ  description์— boring์ด ๋“ค์–ด๊ฐ€์žˆ์œผ๋ฉด ์•ˆ๋˜๊ธฐ์— description != 'boring' ํ‰์ ์ด ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ด๋˜์–ด์•ผ ํ•˜๊ธฐ์— ORDER BY rating DESC Solve ์ œ์ถœ ๋‹ต์•ˆ SELECT * FROM Cinema WHERE MOD(id, 2) = 1 and description != 'boring' ORDER BY rating DESC; https://leetcode.com/problems/not-boring-movies/ Not Boring Movies - LeetCode Level up your cod.. 2022. 1. 13.
[LeetCode] Database | 596. Classes More Than 5 Students Problem Example Thinking ๋‹จ์ˆœํ•˜๊ฒŒ group by, having ์ ˆ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ. Solve ์ œ์ถœ ๋‹ต์•ˆ SELECT class FROM Courses GROUP BY class HAVING count(student) >= 5; https://leetcode.com/problems/classes-more-than-5-students Classes More Than 5 Students - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 2022. 1. 12.
[LeetCode] Database | 197. Rising Temperature Problem Example Thinking ์ด๋ฒˆ์— ๋ฐฐ์šด ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค DATEDIFF DATEDIFF(date1, date2) ๋Š” ๊ณง date1 - date2 ์ด๋‹ค ์œ„์˜ ๋ฌธ์ œ์—์„œ๋Š” ๋‹ค์Œ๋‚ ์˜ ๋ฐ์ดํ„ฐ์™€ ๋น„๊ต๋ฅผ ํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ด๋‹ˆ ํ•˜๋ฃจ ์ฐจ์ด์ด๋‹ค. ๊ทธ๋Ÿผ DATEDIFF(today.recordDate, yesterday.recordDate) = 1 ์ด๋ผ๊ณ  ์ ์–ด์ค„ ์ˆ˜ ์žˆ๋‹ค. Solve ์ œ์ถœ ๋‹ต์•ˆ SELECT today.id FROM Weather AS today JOIN Weather AS yesterday ON DATEDIFF(today.recordDate, yesterday.recordDate) = 1 WHERE today.temperature > yesterday.temperature https://leetcod.. 2022. 1. 12.
[LeetCode] Database | 627. Swap Salary Problem Example Thinking sex์˜ ๊ฐ’์„ m์ผ ๊ฒฝ์šฐ f ๋กœ, f ์ผ ๊ฒฝ์šฐ m์œผ๋กœ update๋ฅผ ํ•ด์•ผํ•œ๋‹ค. ํ•˜๋‚˜์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ๊ฒฝ์šฐ์—๋Š” update ํ…Œ์ด๋ธ” set ์ปฌ๋Ÿผ = ๋ณ€๊ฒฝํ•  ๊ฐ’ ์œผ๋กœ ํ•˜๋ฉด ๋˜๋Š” ๋ฐ, ์—ฌ๊ธฐ์„œ๋Š” ์กฐ๊ฑด์ด 2๊ฐœ์ด๋‹ค. ๊ทธ๋Ÿด ๊ฒฝ์šฐ์—๋Š” ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์ž! UPDATE ํ…Œ์ด๋ธ”๋ช… SET ์ปฌ๋Ÿผ๋ช… = CASE WHEN ์ปฌ๋Ÿผ๋ช…1 = ๊ธฐ์กด๊ฐ’1 THEN ๋ณ€๊ฒฝํ•  ๊ฐ’1 WHEN ์ปฌ๋Ÿผ๋ช…2 = ๊ธฐ์กด๊ฐ’2 THEN ๋ณ€๊ฒฝํ•  ๊ฐ’2 ELSE ๋ณ€๊ฒฝํ•  ๊ฐ’3 END; IF๋ฌธ ์ฒ˜๋Ÿผ ์›ํ•˜๋Š” ๋งŒํผ ์กฐ๊ฑด ์ ˆ์„ WHEN ~ THEN์— ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ„์— ์กฐ๊ฑด์„ ๋ชจ๋‘ ์ถฉ์กฑํ•˜์ง€ ์•Š์„ ์‹œ ๋ฐ˜ํ™˜ํ•  ๊ฐ’์„ ELSE ์— ๋„ฃ์–ด์ฃผ๊ณ  ๋งˆ์ง€๋ง‰์„ END๋กœ ๋งˆ๋ฌด๋ฆฌํ•˜๊ธฐ Solve ์ œ์ถœ ๋‹ต์•ˆ update Salary set sex = C.. 2022. 1. 5.
[LeetCode] Database | 196. Delete Duplicate Emails Problem Example Thinking ์ฒ˜์Œ์—” dictinct๋กœ ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ํ•˜๋ คํ–ˆ์ง€๋งŒ ์‹คํŒจ email ๊ฐ™์€ ์• ๋“ค๋ผ๋ฆฌ inner join ํ•ด์ฃผ๊ณ  id๊ฐ€ ํฐ๊ฒƒ๋“ค์„ ๊ทธ๋ƒฅ ์‚ญ์ œํ•ด๋ฒ„๋ ธ๋‹ค. ๊ทธ๋žฌ๋”๋‹ˆ ์„ฑ๊ณต Solve ์ œ์ถœ ๋‹ต์•ˆ DELETE p1 FROM Person p1 INNER JOIN Person p2 ON p1.email = p2.email AND p1.id > p2.id; https://leetcode.com/problems/delete-duplicate-emails/ Delete Duplicate Emails - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowle.. 2022. 1. 3.