【问题标题】:Count records between timespan of an hour计算一个小时的时间跨度之间的记录
【发布时间】:2020-03-17 22:28:04
【问题描述】:

我正在尝试计算给定时间跨度(一小时)之间的所有记录。

表格:历史

列:

Name (varchar), 
StartTime (datetime), 
EndTime (datetime)

Date, hour, count of names
17-03 - 10 - 6
17-03 - 11 - 12

有人可以帮我写一个查询吗?

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。
  • 再添加一些样本表数据,同时指定预期的结果。
  • 感谢您的回复。它是一个 Oracle 数据库。一条记录可能存在多个小时,因此如果它在 StartTime 和 EndTime 之间处于活动状态,则需要每小时计算一次。
  • 你自己尝试过什么?请添加到问题中

标签: sql datetime


【解决方案1】:

您可以使用如下的日期检查范围。如果您需要基于Name 列的计数,请使用以下查询:

select Name, count(1) from history
where StartTime >= 'startdate' and EndTime <= 'enddate'
group by Name;

如果您需要总计数,请使用:

select count(1) from history
where StartTime >= 'startdate' and EndTime <= 'enddate';

【讨论】:

    猜你喜欢
    • 2021-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 2010-09-15
    • 1970-01-01
    相关资源
    最近更新 更多