Growth ๐ŸŒณ/Practice ๐Ÿ’ป

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ƒ์œ„ n๊ฐœ ๋ ˆ์ฝ”๋“œ : 2์ฐจ ํ’€์ด ์ถ”๊ฐ€

์ธ” 2023. 10. 25. 16:54

๐Ÿ“ข ๋ณธ ํฌ์ŠคํŒ…์— ํ™œ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๋ฌธ์ œ ๋ฐ ์ž๋ฃŒ ์ถœ์ฒ˜๋Š”

       ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต : 

      https://school.programmers.co.kr/learn/challenges?page=1&languages=mysql%2Coracle์ž„์„ ๋ฐํž™๋‹ˆ๋‹ค.

      · ๋ณธ ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/59405

 


โœ” ๋ฌธ์ œ

ANIMAL_INS ํ…Œ์ด๋ธ”์€ ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. 

ANIMAL_INS ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, ANIMAL_IDANIMAL_TYPEDATETIMEINTAKE_CONDITIONNAMESEX_UPON_INTAKE๋Š” ๊ฐ๊ฐ ๋™๋ฌผ์˜ ์•„์ด๋””, ์ƒ๋ฌผ ์ข…, ๋ณดํ˜ธ ์‹œ์ž‘์ผ, ๋ณดํ˜ธ ์‹œ์ž‘ ์‹œ ์ƒํƒœ, ์ด๋ฆ„, ์„ฑ๋ณ„ ๋ฐ ์ค‘์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

๋™๋ฌผ ๋ณดํ˜ธ์†Œ์— ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ ๋™๋ฌผ์˜ ์ด๋ฆ„์„ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.


โœ” ํ’€์ด

  ๋ฌธ์ œ ์š”๊ตฌ์‚ฌํ•ญ  

 

์ฒซ๋ฒˆ์งธ ํ’€์ดํ•  ๋•Œ๋Š” ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์—์„œ '๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ' ์ด๋ผ๊ณ  ํ•ด์„œ ๋ณดํ˜ธ์‹œ์ž‘์ผ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ›„ LIMIT ์„ ์ ์šฉํ•ด์ฃผ์—ˆ๋‹ค.

SELECT NAME
 FROM ANIMAL_INS
 ORDER BY DATETIME
 LIMIT 1;

 

๐Ÿ‘ฉ‍๐Ÿ’ป  ์ด๋ฒˆ์— ํ‘ธ๋Š” ํ’€์ด์—์„œ๋Š” ROW_NUMBER() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ–‰๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•ด์ค€ ํ›„, 1๋ฒˆ์„ ์ถœ๋ ฅํ–ˆ๋‹ค.

๋งŒ์•ฝ '๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ'์ด ์•„๋‹Œ ์ผ๋ถ€ ์ˆœ์„œ์— ๋Œ€ํ•œ ๋™๋ฌผ์„ ์ฐพ๋Š” ๋“ฑ ๋ฌธ์ œ ๋‹ค์–‘์„ฑ์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ROW_NUMBER() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์œ ์šฉํ•  ๊ฒƒ ๊ฐ™๋‹ค.

SELECT NAME
 FROM (
        SELECT NAME, ROW_NUMBER() OVER (ORDER BY DATETIME) AS ROW_NUM
         FROM ANIMAL_INS) T1
 WHERE T1.ROW_NUM = 1;