๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, SQL/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค SQL๋ฌธ LV. 2 (2)

 

*Oracle ๊ธฐ์ค€

 

 

13. ์ง„๋ฃŒ๊ณผ๋ณ„ ์ด ์˜ˆ์•ฝ ํšŸ์ˆ˜ ์ถœ๋ ฅํ•˜๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/132202 )

APPOINTMENT ํ…Œ์ด๋ธ”์—์„œ 2022๋…„ 5์›”์— ์˜ˆ์•ฝํ•œ ํ™˜์ž ์ˆ˜๋ฅผ ์ง„๋ฃŒ๊ณผ์ฝ”๋“œ ๋ณ„๋กœ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ, ์ปฌ๋Ÿผ๋ช…์€ '์ง„๋ฃŒ๊ณผ ์ฝ”๋“œ', '5์›”์˜ˆ์•ฝ๊ฑด์ˆ˜'๋กœ ์ง€์ •ํ•ด์ฃผ์‹œ๊ณ  ๊ฒฐ๊ณผ๋Š” ์ง„๋ฃŒ๊ณผ๋ณ„ ์˜ˆ์•ฝํ•œ ํ™˜์ž ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ , ์˜ˆ์•ฝํ•œ ํ™˜์ž ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์ง„๋ฃŒ๊ณผ ์ฝ”๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
SELECT MCDP_CD AS "์ง„๋ฃŒ๊ณผ ์ฝ”๋“œ", COUNT(*) AS "5์›”์˜ˆ์•ฝ๊ฑด์ˆ˜"
FROM APPOINTMENT
WHERE TO_CHAR(APNT_YMD, 'YYYY-MM') = '2022-05'
GROUP BY MCDP_CD
ORDER BY COUNT(*) ASC, MCDP_CD ASC;

 

14. ์ž๋™์ฐจ ์ข…๋ฅ˜ ๋ณ„ ํŠน์ • ์˜ต์…˜์ด ํฌํ•จ๋œ ์ž๋™์ฐจ ์ˆ˜ ๊ตฌํ•˜๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/151137 )

CAR_RENTAL_COMPANY_CAR ํ…Œ์ด๋ธ”์—์„œ 'ํ†ตํ’์‹œํŠธ', '์—ด์„ ์‹œํŠธ', '๊ฐ€์ฃฝ์‹œํŠธ' ์ค‘ ํ•˜๋‚˜ ์ด์ƒ์˜ ์˜ต์…˜์ด ํฌํ•จ๋œ ์ž๋™์ฐจ๊ฐ€ ์ž๋™์ฐจ ์ข…๋ฅ˜ ๋ณ„๋กœ ๋ช‡ ๋Œ€์ธ์ง€ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ž๋™์ฐจ ์ˆ˜์— ๋Œ€ํ•œ ์ปฌ๋Ÿผ๋ช…์€ CARS๋กœ ์ง€์ •ํ•˜๊ณ , ๊ฒฐ๊ณผ๋Š” ์ž๋™์ฐจ ์ข…๋ฅ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
SELECT CAR_TYPE, COUNT(*) CARS
FROM CAR_RENTAL_COMPANY_CAR
WHERE OPTIONS LIKE '%ํ†ตํ’์‹œํŠธ%' OR OPTIONS LIKE '%์—ด์„ ์‹œํŠธ%' OR OPTIONS LIKE '%๊ฐ€์ฃฝ์‹œํŠธ%'
GROUP BY CAR_TYPE
ORDER BY 1 ASC;

 

15. ์ƒํ’ˆ ๋ณ„ ์˜คํ”„๋ผ์ธ ๋งค์ถœ ๊ตฌํ•˜๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/131533 )

PRODUCT ํ…Œ์ด๋ธ”๊ณผ OFFLINE_SALE ํ…Œ์ด๋ธ”์—์„œ ์ƒํ’ˆ์ฝ”๋“œ ๋ณ„ ๋งค์ถœ์•ก(ํŒ๋งค๊ฐ€ * ํŒ๋งค๋Ÿ‰) ํ•ฉ๊ณ„๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ๋งค์ถœ์•ก์„ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ  ๋งค์ถœ์•ก์ด ๊ฐ™๋‹ค๋ฉด ์ƒํ’ˆ์ฝ”๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
SELECT PRODUCT_CODE, SUM(SALES_AMOUNT*PRICE) SALES
FROM PRODUCT P
JOIN OFFLINE O
ON P.PRODUCT_ID = O.PRODUCT_ID
GROUP BY PRODUCT_CODE
ORDER BY SALES DESC, PRODUCT_CODE ASC;

- ์ฒ˜์Œ์— ์—ฌ๊ธฐ์„œ ์ข€ ๋ง‰ํ˜”์—ˆ๋‹ค... ์ง€๊ธˆ์€ ๊ฒจ์šฐ ํ’€์—ˆ๊ณ  ์ดํ•ด๋„ ๋œ๋‹ค์ง€๋งŒ ํ•œ์ฐธ ๋’ค์— ๋‹ค์‹œ ํ’€๋ผ๊ณ ํ•˜๋ฉด ๋ชปํ’€๋“ฏ..

- ์šฐ์„  JOIN์„ ์‹œ์ผœ์ฃผ๊ณ , PRODUCT_CODE๋กœ GROUP BYํ•˜๋Š”๊ฑด ์•Œ๊ฒ ๋Š”๋ฐ SUM ํ•จ์ˆ˜๋ฅผ ์ƒ๊ฐํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

 

16. ๋ฃจ์‹œ์™€ ์—˜๋ผ ์ฐพ๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/59046 )

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

๋”๋ณด๊ธฐ
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', "Mitty')
ORDER BY ANIMAL_ID ASC;

 

17. ์กฐ๊ฑด์— ๋งž๋Š” ๋„์„œ์™€ ์ €์ž ๋ฆฌ์ŠคํŠธ ์ถœ๋ ฅํ•˜๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/144854 )

'๊ฒฝ์ œ' ์นดํ…Œ๊ณ ๋ฆฌ์— ์†ํ•˜๋Š” ๋„์„œ๋“ค์˜ ๋„์„œ ID(BOOK_ID), ์ €์ž๋ช…(AUTHOR_NAME), ์ถœํŒ์ผ(PUBLISHED_DATE) ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ์ถœํŒ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
SELECT BOOK_ID, AUTHOR_NAME, TO_CHAR(PUBLISHED_DATE, 'YYYY-MM-DD') PUBLISHED_DATE
FROM BOOK B 
JOIN AUTHOR A
ON B.AUTHOR_ID = A.AUTHOR_ID
WHERE CATEGORY = '๊ฒฝ์ œ'
ORDER BY PUBLISHED_DATE ASC;

 

18. ์„ฑ๋ถ„์œผ๋กœ ๊ตฌ๋ถ„ํ•œ ์•„์ด์Šคํฌ๋ฆผ ์ด ์ฃผ๋ฌธ๋Ÿ‰ ( https://school.programmers.co.kr/learn/courses/30/lessons/133026 )

์ƒ๋ฐ˜๊ธฐ ๋™์•ˆ ๊ฐ ์•„์ด์Šคํฌ๋ฆผ ์„ฑ๋ถ„ ํƒ€์ž…๊ณผ ์„ฑ๋ถ„ ํƒ€์ž…์— ๋Œ€ํ•œ ์•„์ด์Šคํฌ๋ฆผ์˜ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ์ด์ฃผ๋ฌธ๋Ÿ‰์ด ์ž‘์€ ์ˆœ์„œ๋Œ€๋กœ ์กฐํšŒํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ด์ฃผ๋ฌธ๋Ÿ‰์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ปฌ๋Ÿผ๋ช…์€ TOTAL_ORDER๋กœ ์ง€์ •ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF F
JOIN ICECREAM_INFO I
ON F.FLAVOR = I.FLAVOR
GROUP BY INGREDIENT_TYPE
ORDER BY TOTAL_ORDER;

 

19. ๊ฐ€๊ฒฉ๋Œ€ ๋ณ„ ์ƒํ’ˆ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/131530 )

PRODUCT ํ…Œ์ด๋ธ”์—์„œ ๋งŒ์› ๋‹จ์œ„์˜ ๊ฐ€๊ฒฉ๋Œ€ ๋ณ„๋กœ ์ƒํ’ˆ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL ๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ปฌ๋Ÿผ๋ช…์€ ๊ฐ๊ฐ ์ปฌ๋Ÿผ๋ช…์€ PRICE_GROUP, PRODUCTS๋กœ ์ง€์ •ํ•ด์ฃผ์‹œ๊ณ  ๊ฐ€๊ฒฉ๋Œ€ ์ •๋ณด๋Š” ๊ฐ ๊ตฌ๊ฐ„์˜ ์ตœ์†Œ๊ธˆ์•ก(10,000์› ์ด์ƒ ~ 20,000 ๋ฏธ๋งŒ์ธ ๊ตฌ๊ฐ„์ธ ๊ฒฝ์šฐ 10,000)์œผ๋กœ ํ‘œ์‹œํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ๊ฐ€๊ฒฉ๋Œ€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
SELECT TRUNC(PRICE, -4) AS PRICE_GROUP, COUNT(*)
FROM PRODUCT
GROUP BY TRUNC(PRICE, -4)
ORDER BY 1 ASC;

- TRUNC ํ•จ์ˆ˜๋Š” ์ˆซ์ž๋‚˜ ์‹œ๊ฐ„, ์ผ์ž, ์š”์ผ, ์†Œ์ˆ˜์ ์„ ์ ˆ์‚ฌํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

- ์œ„์˜ SELECT๋ฌธ์˜ ๊ฒฝ์šฐ์—๋Š” 12345์›์ด๋ผ๋Š” ๊ฐ€๊ฒฉ์ด ์žˆ๋‹ค๋ฉด ์˜ต์…˜์œผ๋กœ -4๋ฅผ ์ž…๋ ฅํ–ˆ์œผ๋ฏ€๋กœ ๋’ค์—์„œ 4์ž๋ฆฌ๊นŒ์ง€ ์ ˆ์‚ฌํ•˜๊ณ  ์ดˆ๊ธฐ๊ฐ’์ธ '0'์„ ๋„ฃ์–ด 10000์ด ๋œ๋‹ค.

- SUBSTR ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๊ฑฐ๋‚˜ FLOOR ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด 10000์„ ๋‚˜๋ˆ„๊ณ  ๋‹ค์‹œ 10000์„ ๊ณฑํ•˜๋Š” ํ˜•์‹์œผ๋กœ ๋Œ€์‹  ํ‘œํ˜„ํ•  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

20. 3์›”์— ํƒœ์–ด๋‚œ ์—ฌ์„ฑ ํšŒ์› ๋ชฉ๋ก ์ถœ๋ ฅํ•˜๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/131120 )

MEMBER_PROFILE ํ…Œ์ด๋ธ”์—์„œ ์ƒ์ผ์ด 3์›”์ธ ์—ฌ์„ฑ ํšŒ์›์˜ ID, ์ด๋ฆ„, ์„ฑ๋ณ„, ์ƒ๋…„์›”์ผ์„ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ด๋•Œ ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ NULL์ธ ๊ฒฝ์šฐ๋Š” ์ถœ๋ ฅ๋Œ€์ƒ์—์„œ ์ œ์™ธ์‹œ์ผœ ์ฃผ์‹œ๊ณ , ๊ฒฐ๊ณผ๋Š” ํšŒ์›ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
SELECT MEMBER_ID, MEMBER_NAME, GENDER, TO_CHAR(DATE_OF_BIRTH, 'YYYY-MM-DD')
FROM MEMBER_PROFILE
WHERE TLNO IS NOT NULL AND GENDER = 'W' AND TO_CHAR(DATE_OF_BIRTH, 'MM') = '03'
ORDER BY MEMBER_ID ASC;

 

21. ์žฌ๊ตฌ๋งค๊ฐ€ ์ผ์–ด๋‚œ ์ƒํ’ˆ๊ณผ ํšŒ์› ๋ฆฌ์ŠคํŠธ ๊ตฌํ•˜๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/131536 )

ONLINE_SALE ํ…Œ์ด๋ธ”์—์„œ ๋™์ผํ•œ ํšŒ์›์ด ๋™์ผํ•œ ์ƒํ’ˆ์„ ์žฌ๊ตฌ๋งคํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌํ•˜์—ฌ, ์žฌ๊ตฌ๋งคํ•œ ํšŒ์› ID์™€ ์žฌ๊ตฌ๋งคํ•œ ์ƒํ’ˆ ID๋ฅผ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฒฐ๊ณผ๋Š” ํšŒ์› ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์‹œ๊ณ  ํšŒ์› ID๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์ƒํ’ˆ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
SELECT USER_ID, PRODUCT_ID
FROM ONLINE_SALE
GROUP BY USER_ID, PRODUCT_ID
HAVING COUNT(PRODUCT_ID) > 1
ORDER BY USER_ID ASC, PRODUCT_ID DESC;

- GROUP BY์— ์ปฌ๋Ÿผ์ด ๋‘๊ฐœ ์ด์ƒ ๋“ค์–ด๊ฐ€๋Š” ์ด์œ ๋Š” ๋‚˜๋ˆ„๋Š” ๊ธฐ์ค€์ด ๋‘ ๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

- 1) ๋จผ์ € ๊ฐ™์€ USER_ID์—ฌ์•ผํ•˜๊ณ 

- 2) ๊ฐ™์€ PRODUCT_ID๋ผ๋ฆฌ ๋˜ ๋ฌถ์–ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—

- GROUP BY์— USER_ID, PRODUCT_ID ๋‘ ์ปฌ๋Ÿผ์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค.

 

์ž์„ธํ•œ ์„ค๋ช…์ด ๋˜์–ด์žˆ๋Š” ๋ธ”๋กœ๊ทธ

 

22. ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜๋Š” ์ค‘๊ณ ๊ฑฐ๋ž˜ ์ƒํƒœ ์กฐํšŒํ•˜๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/164672 )

USED_GOODS_BOARD ํ…Œ์ด๋ธ”์—์„œ 2022๋…„ 10์›” 5์ผ์— ๋“ฑ๋ก๋œ ์ค‘๊ณ ๊ฑฐ๋ž˜ ๊ฒŒ์‹œ๋ฌผ์˜ ๊ฒŒ์‹œ๊ธ€ ID, ์ž‘์„ฑ์ž ID, ๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ, ๊ฐ€๊ฒฉ, ๊ฑฐ๋ž˜์ƒํƒœ๋ฅผ ์กฐํšŒํ•˜๋Š” SQL๋ฌธ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๊ฑฐ๋ž˜์ƒํƒœ๊ฐ€ SALE ์ด๋ฉด ํŒ๋งค์ค‘, RESERVED์ด๋ฉด ์˜ˆ์•ฝ์ค‘, DONE์ด๋ฉด ๊ฑฐ๋ž˜์™„๋ฃŒ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์ถœ๋ ฅํ•ด์ฃผ์‹œ๊ณ , ๊ฒฐ๊ณผ๋Š” ๊ฒŒ์‹œ๊ธ€ ID๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, 
	CASE
    	WHEN STATUS = 'SALE' THEN 'ํŒ๋งค์ค‘'
        WHEN STATUS = 'RESERVED' THEN '์˜ˆ์•ฝ์ค‘'
    	ELSE '๊ฑฐ๋ž˜์™„๋ฃŒ'
    END AS STATUS
FROM USED_GOODS_BOARD
WHERE TO_CHAR(CREATED_DATE, 'YYYY-MM-DD') = '2022-10-05'
ORDER BY BOARD_ID DESC;

 

23. ์ž๋™์ฐจ ํ‰๊ท  ๋Œ€์—ฌ ๊ธฐ๊ฐ„ ๊ตฌํ•˜๊ธฐ ( https://school.programmers.co.kr/learn/courses/30/lessons/157342 )

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

๋”๋ณด๊ธฐ
SELECT CAR_ID, ROUND(AVG(END_DATE-START_DATE+1), 1) AVERAGE_DURATION
FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY 
GROUP BY CAR_ID
HAVING AVG(END_DATE-START_DATE)>6
ORDER BY 2 DESC, 1 DESC;