728x90
728x90
좌로 보나 우로보나,, 조회값도 똑같은데 틀렸다고만 나와 답답해서 검색을 했다..
그 결과 늘 주어지는 칼럼의 타입이 DATETIME이었어서
DATE_FORMAT () 함수를 통해 날짜를 알아왔었는데
이번 문제는 DATE이기 때문에 SELECT 할 때, DATE_FORMAT() 함수가 아닌
YEAR() 함수를 사용했어야 했다..
틀린 코드를 먼저 보자.
SELECT DATE_FORMAT(YM, '%Y') AS YEAR, ROUND(AVG(PM_VAL1), 3) AS 'PM10', ROUND(AVG(PM_VAL2), 3) AS 'PM2.5'
FROM AIR_POLLUTION
WHERE LOCATION2 = '수원'
GROUP BY YEAR
ORDER BY YEAR;
DATE_FORMAT() 함수는 해당 부분을 문자열로 반환하고
YEAR() 함수는 정수로 반환한다고 한다.
이제 올바른 코드를 보자.
SELECT YEAR(YM) AS YEAR, ROUND(AVG(PM_VAL1), 2) AS `PM10`, ROUND(AVG(PM_VAL2), 2) AS `PM2.5`
FROM AIR_POLLUTION
WHERE LOCATION2 = '수원'
GROUP BY YEAR
ORDER BY YEAR;
혼자 해결하고 싶어 한참을 헤맸는데 ,,, 간단한 문제였다.
해결 !
728x90
'SQL' 카테고리의 다른 글
노선별 평균 역 사이 거리 조회하기 (0) | 2024.10.23 |
---|---|
자동차 평균 대여 기간 구하기 ( 프로그래머스, Lv.2, MySQL ) (3) | 2024.10.17 |
특정 단위별 컬럼 그룹화 하기 (1) | 2024.10.10 |
ORDER BY 컬럼 우선순위 설정 (0) | 2024.10.10 |
ORDER BY의 alias가 문자열 일 때 ( MySQL ) (0) | 2024.10.10 |