Mysql 日期时间组(按日期和小时)
我有一个名为活动\u dt的日期时间,数据如下所示: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
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()允许进行索引扫描,以及其他聚合,只要它们指定了不同的关键字。来源:[链接]()