我的数据库中有一张表,说 mytable,其中的内容请求来自其他来源。该表中有一列作为时间,用于存储收到请求时的日期和时间(例如 2010/07/10 01:21:43)。现在我想每天每小时从这个表中获取数据。意味着我想要数据库在一天中的每个小时收到的请求数。例如,对于 1 点钟到 2 点钟,说计数是 50 ..像这样..我将在一天结束时运行此查询。因此,我将每小时收到一天组中收到的请求。
任何人都可以帮助我。
我想要查询,因为我的数据库大小很大,所以获取数据所需的时间更少。
除了 OMG Ponies 回答之外的任何其他方式。
最佳答案
使用 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数据库中获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3883365/