2011-12-04 152 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中找到。