Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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 - Fatal编程技术网

Mysql 日期时间组(按日期和小时)

Mysql 日期时间组(按日期和小时),mysql,sql,Mysql,Sql,我有一个名为活动\u dt的日期时间,数据如下所示: 2/5/2013 9:24:00 AM 2/7/2013 7:17:00 AM 如何按日期和时间分组?SQL Server: SELECT [activity_dt], COUNT(*) as [Count] FROM (SELECT dateadd(hh, datediff(hh, '20010101', [activity_dt]), '20010101') as [activity_dt] FROM table) ab

我有一个名为活动\u dt的日期时间,数据如下所示:

2/5/2013 9:24:00 AM
2/7/2013 7:17:00 AM
如何按日期和时间分组?

SQL Server:

SELECT [activity_dt], COUNT(*) as [Count]
  FROM 
 (SELECT dateadd(hh, datediff(hh, '20010101', [activity_dt]), '20010101') as [activity_dt]
    FROM table) abc
 GROUP BY [activity_dt]
SELECT [activity_dt], count(*)
FROM table1
GROUP BY DATEPART(day, [activity_dt]), DATEPART(hour, [activity_dt]);
甲骨文:

SELECT [activity_dt], count(*)
FROM table1
GROUP BY TO_CHAR(activity_dt, 'DD'), TO_CHAR(activity_dt, 'hh');
MySQL:

SELECT [activity_dt], count(*)
FROM table1
GROUP BY hour( activity_dt ) , day( activity_dt )

使用MySQL,我通常会这样做:

SELECT count( id ), ...
FROM quote_data
GROUP BY date_format( your_date_column, '%Y%m%d%H' )
order by your_date_column desc;
或者同样,如果您需要输出日期/小时:

SELECT count( id ) , date_format( your_date_column, '%Y-%m-%d %H' ) as my_date
FROM  your_table 
GROUP BY my_date
order by your_date_column desc;

如果在日期列上指定索引,MySQL应该能够使用它来加快速度。

在我的例子中。。。使用MySQL:


选择。。。按时间分组添加(小时、小时(列名)、日期(列名))

您使用的rdbms是什么?您的意思是将日期格式化为2013年2月5日吗?选择日期格式(活动日期,'%e/%c/%Y')为什么使用方括号?在mysql上,当我使用them@Jazerix:您不需要。实际上,如果您的列名包含空格,如
[activity dt],则使用方括号
@IswantoSan-mysql每行显示日期和小时的最佳方式是什么?在ms sql中不起作用:列“Invoices.date”在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。我必须用%h替换%h,使用0-24排序比使用0-12和0-12排序更适合我。请注意索引使用情况。虽然date_格式允许使用索引,但只有在使用特定/有限的聚合函数时,才能最佳地使用索引(松散索引扫描)。通常,只有应用于单个列的MIN()和MAX()允许进行索引扫描,以及其他聚合,只要它们指定了不同的关键字。来源:[链接]()