데이터 베이스/RDS

[SQL] MySQL Subquery Count Using DATE_FORMAT alias

쟈누이 2021. 1. 24. 15:58
반응형

어제 데이터를 연도별로 카운트를 하기위해 쿼리문을 작성했는데.. 원하는 대로 잘 나오지가 않았다.. 년도 별로해서 카운트를 하고 싶은데..날짜가 다 달랐던 탓인지 GROUP BY 로 연도별로 카운트를 해도 동일한 연도가 계속해서 나오는 문제가 발생했는데..아래 이미지와 같이 나왔었다.

 

이것을 어떻게 해결해야되는지... 분명 GROUP BY 로 나누어주는 것은 맞는데...왜 위 이미지와 같이 나올까.. 그것이 이상했고.. 몇시간을 서칭해도 나오지를 않았다.. 결국에는 STACK OVERFLOW 덕분에 해결을 햇는데.. 생각보다는 간단했다..


stackoverflow.com/questions/5425748/mysql-subquery-count-using-date-format-alias

 

MySQL Subquery Count Using DATE_FORMAT alias

I've been banging my head against the wall for the past hours trying to get this single query to work but having no success. I have a single table called viewer_log. Each row is a pageview with a

stackoverflow.com


이 부분에서 질문자도 세부적인 날짜가 뜨지않게 처리한 다음에 연도 또는 월별로 데이터가 나오게 쿼리를 처리하고 싶었던 것 같다..

 

위 스택오버 플로우를 참고해서  작성한 쿼리문은 아래와 같은데..

select 
       date_format(release_date, '%Y') as release_year,
       count(date_format(release_date, '%Y'))
from albums
group by date_format(release_date, '%Y');

그냥 간단하게 쿼리문에 date_format(release_date, '%Y') 

으로 감싸준 다음에 GROUP BY 로 해주면 되었던 것이었다... 이걸 왜 몰랐는지..

 

앞으로는 참고해서 다른 데이터들도 특정 형식에 맞게 노출하고 싶을 때는 GROUP BY를 사용해서 

결과를 출력할 수 있도록 해야겠다.

 

반응형