๊ด€๋ฆฌ ๋ฉ”๋‰ด

Welcome! Everything is fine.

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Lv.3] ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋ณดํ˜ธํ•œ ๋™๋ฌผ(2) - MySQL ๋ณธ๋ฌธ

์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Lv.3] ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋ณดํ˜ธํ•œ ๋™๋ฌผ(2) - MySQL

๊ฐœ๋ฐœ๊ณฐ๋ฐœ 2024. 3. 20.
728x90

๐Ÿ“Œ ๋ฌธ์ œ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

๐Ÿ“Œ ์ •๋‹ต

(์ž…์–‘์ผ - ๋ณดํ˜ธ์‹œ์ž‘์ผ)์„ ๊ณ„์‚ฐํ•ด ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ๊ฐ€์žฅ ์ƒ๋‹จ์˜ ๋ฐ์ดํ„ฐ 2๊ฐœ๋ฅผ ์ถœ๋ ฅํ•˜๋„๋ก ํ–ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋‹ค๋ฅธ ๋‹ต์•ˆ์„ ๋ณด๋‹ˆ ๋‚ ์งœ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” DATEDIFF๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ๋”ฐ๋กœ ์žˆ์—ˆ๋‹ค.

SELECT outs.ANIMAL_ID, outs.NAME
FROM ANIMAL_INS ins JOIN ANIMAL_OUTS outs USING(ANIMAL_ID)
ORDER BY outs.DATETIME - ins.DATETIME DESC
LIMIT 2

 

์•„๋ž˜ ์ฝ”๋“œ๋Š” DATEDIFF ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ ๋‹ต์•ˆ์ด๋‹ค.

SELECT outs.ANIMAL_ID, outs.NAME
FROM ANIMAL_INS ins JOIN ANIMAL_OUTS outs USING(ANIMAL_ID)
ORDER BY DATEDIFF(outs.DATETIME, ins.DATETIME) DESC
LIMIT 2

๐Ÿ“Œ ๊ธฐ์–ตํ•  ๊ฒƒ

  • DATEDIFF(๊ตฌ๋ถ„์ž, ์‹œ์ž‘ํ•˜๋Š” ๋‚ ์งœ, ๋๋‚˜๋Š” ๋‚ ์งœ) ๋ฅผ ์ด์šฉํ•ด ๋‚ ์งœ๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ตฌ๋ถ„์ž๋Š” 'day', 'week', hour' ๋“ฑ์„ ๋„ฃ์–ด ์›ํ•˜๋Š”๋Œ€๋กœ ๋‚ ์งœ๋‚˜ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.