https://solvesql.com/problems/weekday-stats-airpollution/
--요일별 대기오염 평균 구하기
SELECT
CASE
WHEN strftime ('%w', measured_at) = '1' THEN '월요일'
WHEN strftime ('%w', measured_at) = '2' THEN '화요일'
WHEN strftime ('%w', measured_at) = '3' THEN '수요일'
WHEN strftime ('%w', measured_at) = '4' THEN '목요일'
WHEN strftime ('%w', measured_at) = '5' THEN '금요일'
WHEN strftime ('%w', measured_at) = '6' THEN '토요일'
WHEN strftime ('%w', measured_at) = '0' THEN '일요일'
END AS weekday,
ROUND(AVG(no2), 4) AS no2,
ROUND(AVG(o3), 4) AS o3,
ROUND(AVG(co), 4) AS co,
ROUND(AVG(so2), 4) AS so2,
ROUND(AVG(pm10), 4) AS pm10,
ROUND(AVG(pm2_5), 4) AS pm2_5
FROM
measurements
GROUP BY
strftime ('%w', measured_at)
ORDER BY
CASE
WHEN strftime ('%w', measured_at) = '1' THEN 1
WHEN strftime ('%w', measured_at) = '2' THEN 2
WHEN strftime ('%w', measured_at) = '3' THEN 3
WHEN strftime ('%w', measured_at) = '4' THEN 4
WHEN strftime ('%w', measured_at) = '5' THEN 5
WHEN strftime ('%w', measured_at) = '6' THEN 6
WHEN strftime ('%w', measured_at) = '0' THEN 7
END;
- strftime()은 기본적으로 0부터 시작하여 CASE WHEN 문으로 월요일을 1로 지정해야함.
- 요일별 그룹화하여 대기오염 평균 계산
- 요일 순서를 월-일요일로 정렬
- 각 평균값 소수점 넷째자리까지 반올림 ROUND( , 4)
[오늘의 코드 148~156] [백준] Python 단계별 풀이- 사칙연산 (0) | 2025.01.28 |
---|---|
[오늘의 코드 148] [SOLVESQL] 3년간 들어온 소장품 집계하기 (0) | 2025.01.06 |
[오늘의 코드 146] [SOLVESQL] 최대값을 가진 행 찾기 (0) | 2024.12.19 |
[오늘의 코드 145] [SOLVESQL] 온라인 쇼핑몰의 월 별 매출액 집계 (2) | 2024.12.15 |
[오늘의 코드 144] [SOLVESQL] 기증품 비율 계산하기 (1) | 2024.12.11 |