2011-12-04 6 views
2

Date()로 그룹화하려고합니다.시간에 관계없이 날짜별로 그룹화하는 방법?

2011-12-03 08:00:24, 2011-12-03 08:12:10, 2011-12-04 09:00:00 

나는 시간에 관계없이 년, 월, 일에 의해서만 그룹에 싶습니다 나는 created_at 열 3 개 기록을 가지고있다. 그래서 위의 예를 보자. 두 행만 반환해야합니다.

2011-12-03 and 2011-12-04 

어떻게해야합니까?

+0

이 오라클/MySQL을 등인가? – Ben

+0

Hi Ben, 이것은 MySQL –

답변

2

이 년 월 일

SELECT group_by_column 
     , DATE_FORMAT(created_at, '%Y') 
     , DATE_FORMAT(created_at, '%m') 
     , DATE_FORMAT(created_at, '%d') 
    FROM my_table 
    GROUP BY group_by_column 

에 의해 그룹을 허용해야하거나 함께 그들 모두를 수행하려는 경우.

SELECT group_by_column 
     , DATE_FORMAT(created_at, '%Y%m%d') 
    FROM my_table 
    GROUP BY group_by_column 
+0

입니다. Rails 3에서는 AR :'Foobar.group ('DATE_FORMAT (created_at, "% Y % m % d")')'이 (가) 있습니다. 고마워요 –

8
... group by date(date_time_column) 
2

는 다음과 같은 시도 했습니까?

SELECT 
    DATE(created_at) AS created_date 
FROM 
    my_table 
GROUP BY 
    created_date 
+0

예, 날짜별로 그룹화합니다. –

2

GROUP BY DATE(created_at). 그러면 ActiveRecord가 .group(DATE(created_at))

으로 변환됩니다. 실제로 정확한 예제는 Rails Guides on ActiveRecord querying에서 사용할 수 있습니다.

관련 문제