본문 바로가기
MySql

MySQL DATETIME 필드의 GROUP BY 월

by 베이스 공부 2020. 12. 14.
반응형

mysql에 다음 쿼리가 있습니다.

SELECT title, 
       added_on 
FROM   title 

결과는 다음과 같습니다.

Somos Tão Jovens                        2013-10-10 16:54:10
Moulin Rouge - Amor em Vermelho         2013-10-10 16:55:03
Rocky Horror Picture Show (Legendado)   2013-10-10 16:58:30
The X-Files: I Want to Believe          2013-10-10 22:39:11

매월 제목 수를 얻고 싶습니다. 결과는 다음과 같습니다.

Count               Month
42                  2013-10-01
20                  3013-09-01

이것을 얻기 위해 내가 생각할 수있는 가장 가까운 것은 :

SELECT Count(*), 
       Date(timestamp) 
FROM   title 
GROUP  BY Date(timestamp) 

그러나 이것은 월이 아니라 일별로만 그룹화됩니다. 여기에서 월별로 그룹화하는 방법은 무엇입니까?

 

해결 방법

 

이것을 시도해 볼 수 있습니까?

select count(*), DATE_FORMAT(timestamp, "%Y-%m-01")
from title
group by DATE_FORMAT(timestamp, "%Y-%m-01")

MONTH () 는 다음과 같이 '2013-01-01'과 '2014-01-01'을 구분할 수 없습니다.

mysql> SELECT MONTH('2013-01-01'), MONTH('2014-01-01');
+---------------------+---------------------+
| MONTH('2013-01-01') | MONTH('2014-01-01') |
+---------------------+---------------------+
|                   1 |                   1 |
+---------------------+---------------------+

 

참조 페이지 https://stackoverflow.com/questions/20963503

 

 

반응형

댓글