문제
💡 CAR_RENTAL_COMPANY_CAR 테이블에서 자동차 종류가 'SUV'인 자동차들의 평균 일일 대여 요금을 출력하는 SQL문을 작성해주세요. 이때 평균 일일 대여 요금은 소수 첫 번째 자리에서 반올림하고, 컬럼명은 AVERAGE_FEE 로 지정해주세요.
테이블 형태
풀이
SELECT ROUND(AVG(DAILY_FEE)) AS AVERAGE_FEE
FROM CAR_RENTAL_COMPANY_CAR
WHERE CAR_TYPE LIKE 'SUV'
해설
WHERE CAR_TYPE LIKE 'SUV'
- WHERE문에 LIKE를 활용해 자동차 종류가 SUV인 자동차를 필터링한다. CAR_TYPE='SUV'도 가능한데 당시 LIKE를 안 지 얼마 안돼 사용해보고 싶어 LIKE를 썼다
SELECT ROUND(AVG(DAILY_FEE)) AS AVERAGE_FEE
FROM CAR_RENTAL_COMPANY_CAR
- AVG로 DAILY_FEE의 평균 값을 산출하고 반올림하는 함수 ROUND 를 사용해 최종 평균 대여료를 소수 첫 번째 자리에서 반올림해 정수로 나타냈다. ROUND(숫자, 반올림해서 나타낼 자릿수)로 사용되는데 자릿수를 지정하지 않으면 자동으로 정수 형태를 반환한다.
ROUND(X,D)
- Rounds the argument X to D decimal places 인수X를 소수점 D자리까지 나타낸다
- D defaults to 0 if not specified D가 지정되지 않으면 기본 값은 0이다(=소수점 0자리=정수 형태)
- D can be negative to cause D digits left of the decimal point of the value X to become zero
D가 음수인 경우 소수점 왼쪽에 있는 자릿수가 반올림 대상이 된다(ex. -1은 일의 자리 수 기준으로 반올림하고 0으로, -2는 십의 자리 수 기준 반올림하고 0으로..) 밑에서 2번째 코드 예시 참고
- The maximum absolute value for D is 30; any digits in excess of 30 (or -30) are truncated
D의 최대 절대값은 30이며 30을 초과하는 모든 숫자는 잘린다(=최대 30번째 자릿수까지만 나타낸다)
- If X or D is NULL, the function returns NULL
인수X가 없거나 D가 NULL이면 NULL을 반환한다mysql> SELECT ROUND(-1.23); -> -1 mysql> SELECT ROUND(-1.58); -> -2 mysql> SELECT ROUND(1.58); -> 2 mysql> SELECT ROUND(1.298, 1); -> 1.3 mysql> SELECT ROUND(1.298, 0); -> 1 mysql> SELECT ROUND(23.298, -1); -> 20 mysql> SELECT ROUND(.12345678901234567890123456789012345, 35); -> 0.123456789012345678901234567890
MySQL :: MySQL 8.3 Reference Manual :: 14.6.2 Mathematical Functions
MySQL 8.3 Reference Manual / ... / Functions and Operators / Numeric Functions and Operators / Mathematical Functions 14.6.2 Mathematical Functions Table 14.10 Mathematical Functions Name Description ABS() Return the absolute value ACOS(
dev.mysql.com
'SQL > 코딩테스트' 카테고리의 다른 글
[프로그래머스 / MySQL] 성분으로 구분한 아이스크림 총 주문량 (0) | 2024.02.02 |
---|---|
[프로그래머스 / MySQL] 모든 레코드 조회하기 (0) | 2024.02.02 |
[프로그래머스 / MySQL] 이름이 있는 동물의 ID (0) | 2024.02.02 |
[leetcode / MySQL] 185. Department Top Three Salaries (0) | 2024.02.01 |
[leetcode / MySQL] 178. Rank Scores (0) | 2024.02.01 |