Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在不考虑时间的情况下按日期分组?_Mysql_Sql_Ruby On Rails 3_Activerecord - Fatal编程技术网

Mysql 如何在不考虑时间的情况下按日期分组?

Mysql 如何在不考虑时间的情况下按日期分组?,mysql,sql,ruby-on-rails-3,activerecord,Mysql,Sql,Ruby On Rails 3,Activerecord,我正在尝试按日期进行分组()。我在列中创建了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 我该怎么做呢?这将允许您按年度、月份和日期进行分组 SELECT group_by_column , DATE_FORMAT(created_at, '%Y')

我正在尝试按日期进行分组()。我在列中创建了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

我该怎么做呢?

这将允许您按年度、月份和日期进行分组

 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允许按日期分组(创建于)。因此,这将在ActiveRecord中转换为
.group(DATE(created_at))

事实上,这个确切的例子可以在中找到。

您可以使用Date()函数。

试一试


是的,这在Rails 3中按日期和时间对其进行分组,AR:
Foobar.group('date\u格式(创建于,“%Y%m%d”))
。谢谢你
SELECT 
    DATE(created_at) AS created_date 
FROM 
    my_table 
GROUP BY 
    created_date
mysql> SELECT DATE('2003-12-31 01:02:03');
        -> '2003-12-31'
   GROUP BY DATE(`date_column`)