2011-12-04 243 views
2

我想按日期分組()。我有3條記錄與created_at柱:如何按日期分組?

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

我想只有年,月,日組不分時間。所以對於上面的例子。它應該只返回兩行:

2011-12-03 and 2011-12-04 

我應該怎麼做?

+0

這是甲骨文/ MySQL的等? – Ben

+0

嗨,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

MySQL許可證GROUP BY DATE(created_at)。因此,這將在ActiveRecord中翻譯爲.group(DATE(created_at))

實際上,該確切示例可在Rails Guides on ActiveRecord querying中找到。