๊ฐœ๋ฐœ์ผ์ง€

[MySQL] DATEDIFF / ์ž๋™์ฐจ ํ‰๊ท  ๋Œ€์—ฌ ๊ธฐ๊ฐ„ ๊ตฌํ•˜๊ธฐ ๋ณธ๋ฌธ

SQL

[MySQL] DATEDIFF / ์ž๋™์ฐจ ํ‰๊ท  ๋Œ€์—ฌ ๊ธฐ๊ฐ„ ๊ตฌํ•˜๊ธฐ

O'mil 2024. 5. 1. 15:56
728x90

๐Ÿ”— ๋งํฌ

์ž๋™์ฐจ ํ‰๊ท  ๋Œ€์—ฌ ๊ธฐ๊ฐ„ ๊ตฌํ•˜๊ธฐ

 

๐Ÿ“Œ ๋ฌธ์ œ ์„ค๋ช…

Table: CAR_RENTAL_COMPANY_RENTAL_HISTORY

  • ํ‰๊ท  ๋Œ€์—ฌ ๊ธฐ๊ฐ„์ด 7์ผ ์ด์ƒ์ธ ์ž๋™์ฐจ๋“ค์˜ ์ž๋™์ฐจ ID์™€ ํ‰๊ท  ๋Œ€์—ฌ ๊ธฐ๊ฐ„(์ปฌ๋Ÿผ๋ช…: AVERAGE_DURATION) ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅ
    ํ‰๊ท  ๋Œ€์—ฌ ๊ธฐ๊ฐ„์€ ์†Œ์ˆ˜์  ๋‘๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผ
    ๊ฒฐ๊ณผ๋Š” ํ‰๊ท  ๋Œ€์—ฌ ๊ธฐ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ, ์ž๋™์ฐจ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ

โ“ ์˜๋ฌธ์ 

  • ๋‚ ์งœ ๊ณ„์‚ฐ์„ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ?

 


๐Ÿ“ DATEDIFF

  • ๋‚ ์งœ ๊ณ„์‚ฐ ์‹œ ์‚ฌ์šฉ (๋‚ ์งœ1 - ๋‚ ์งœ2)
  • ๋‘ ๋‚ ์งœ์˜ ์ฐจ์ด๋ฅผ ์•Œ๋ ค์คŒ
  • (+1์„ ํ•ด์•ผ ๊ธฐ๊ฐ„์„ ์•Œ ์ˆ˜ ์žˆ์Œ)
DATEDIFF(๋‚ ์งœ1, ๋‚ ์งœ2)

 

 

์˜ˆ์ œ)

SELECT DATEDIFF('2023-05-01', '2024-05-01');
// -366

 

๐Ÿ“ TIMESTAMPIFF

  • ๋‚ ์งœ ๊ณ„์‚ฐ ์‹œ ์‚ฌ์šฉ
  • ๋‹จ์œ„์— ๋งž์ถฐ ๊ฒฐ๊ณผ๊ฐ’์„ ์ถœ๋ ฅํ•จ
  • ๋‹จ์œ„
    • SECOND: ์ดˆ
    • MINUTE: ๋ถ„
    • HOUR: ์‹œ
    • DAY: ์ผ
    • WEEK: ์ฃผ
    • MONTH: ์›”
    • QUARTER: ๋ถ„๊ธฐ
    • YEAR: ์—ฐ
TIMESTAMPDIFF(๋‹จ์œ„, ๋‚ ์งœ1, ๋‚ ์งœ2);

 

 

์˜ˆ์ œ)

SELECT TIMESTAMPDIFF(MONTH, '2023-05-01', '2024-05-01');
// 12

 


๐Ÿ’ป ์ฝ”๋“œ

SELECT CAR_ID, ROUND(AVG(DATEDIFF(END_DATE, START_DATE) + 1), 1) AS AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY
GROUP BY CAR_ID
HAVING AVERAGE_DURATION > 6
ORDER BY AVERAGE_DURATION DESC, CAR_ID DESC;

 

 

 

๐Ÿ’ก ๊ฒฐ๊ณผ

 


๐Ÿ“šReference

https://extbrain.tistory.com/78

 

 

 

728x90
Comments