[英]How to group by date regardless of time?
我正在嘗試按Date()進行分組。 我有created_at
列的3條記錄:
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
我該怎么辦呢?
... group by date(date_time_column)
這應該允許您按年和月分組
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
你試過以下嗎?
SELECT
DATE(created_at) AS created_date
FROM
my_table
GROUP BY
created_date
MySQL允許GROUP BY DATE(created_at)
。 這樣就可以將ActiveRecord轉換為.group(DATE(created_at))
實際上, 在ActiveRecord查詢的Rails指南中可以找到這個確切的示例。
您可以使用Date()函數。
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date
mysql> SELECT DATE('2003-12-31 01:02:03');
-> '2003-12-31'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.