回答
SQL服务器:
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)
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]
使用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应该能够用它来加快东西小。
我不得不用%H替换%h,用0-24排序对我来说效果更好,而不是0-12和0-12。 – Melvin 2016-04-03 09:24:44
@Melvin你说得对,我纠正了我的答案。 – Simon 2016-04-03 11:28:07
只是关于索引使用情况的说明。虽然date_format确实允许使用索引,但只有在使用特定/有限集合函数时,才会优化使用索引(松散索引扫描)。通常,只有MIN()和MAX()应用于单列才允许进行索引扫描,并且只要指定DISTINCT关键字,也可以使用其他聚合。来源:[链接](http://dev.mysql.com/doc/refman/5.7/en/group-by-optimization.html) – JavoSN 2016-06-26 19:21:28
- 1. 组合日期和时间
- 2. 日期之间的日期与时间
- 3. 分离的日期和时间的日期时间戳
- 4. 将日期和时间转换为GMT + 10日期和时间
- 5. SAS日期和日期时间问题
- 6. mysql日期和日期时间问题
- 7. javascript日期和JSON日期时间
- 8. 比较日期和日期时间
- 9. django在日期时间的日期排序/从日期时间提取日期
- 10. 如何从日期时间戳的时间和日期在PHP
- 11. 结合使用日期时间的日期和时间列
- 12. 转换日期时间来写的日期和时间用JavaScript
- 13. 日期时间
- 14. 日期时间
- 15. Moment.js检查日期时间是否在一组日期和时间之间
- 16. 从一个日期时间和另一个日期时间的合并日期
- 17. 时间元组到日期时间
- 18. 时间戳,日期,时间或日期时间是哪个?
- 19. MySQL日期和时间间隔 - 日期间的记录
- 20. 加入包含日期和时间信息为日期时间
- 21. 服务器日期时间和客户端日期时间
- 22. 检查日期时间输入和数据库日期时间
- 23. 从系统中拆分日期和时间::日期时间
- 24. 将日期时间分割成日期和时间值
- 25. 日期时间选择器 - 设置开始日期和时间
- 26. 添加日期参数和时间参数单日期时间
- 27. 日期时间(日期和时间)与数据注释验证
- 28. ColdFusion - 捕获登录日期/时间和注销日期/时间
- 29. 使用日期和时间填充日期时间
- 30. MySQL日期时间和当前日期时间函数
你用什么rdbms? – 2013-02-13 03:38:08