簡體   English   中英

如何按時間分組,不論時間如何?

[英]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'

嘗試

   GROUP BY DATE(`date_column`)

參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM