sql – 如何以小时为单位从oracle数据库中获取数据

我在我的数据库中有一个表说mytable,其中的内容请求来自其他来源.此表中有一列为Time,它在收到请求时存储日期和时间(例如,2010/07/10 01:21:43).现在我想每小时从这个表中获取数据.意味着我希望数据库在一天中的每个小时内收到数量.例如,从1点钟到2点钟,计数是50 ..像这样..我会在一天结束时运行这个查询.所以我会每小时收到一天中收到的请求.

任何人都可以帮助我.

我想要查询,因为我的数据库大小很大,所以需要更少的时间来获取数据.

任何比OMG小马更回答的方式.

最佳答案
使用TO_CHAR function格式化DATETIME列,因此您可以将GROUP BY用于聚合函数:

  SELECT TO_CHAR(t.time, 'YYYY-MM-DD HH24') AS hourly,
         COUNT(*) AS numPerHour
    FROM YOUR_TABLE t
GROUP BY TO_CHAR(t.time, 'YYYY-MM-DD HH24')

转载注明原文:sql – 如何以小时为单位从oracle数据库中获取数据 - 代码日志