当前位置: 首页 > 知识库问答 >
问题:

在开始和结束时间之间对记录进行分组

邵轶
2023-03-14

我有一个测试数据库,每个测试都有一个StartTime和(对于那些完成的)EndTime值。我想创建一个查询,显示每小时运行的测试数量。

i、 e.在任何给定时间有开始时间但没有结束时间的测试。

我解决了分组问题——感谢@p.cambell对问题SQL Server Group by Count of DateTime Per Hour的回答?

共有1个答案

司马飞
2023-03-14

您可以使用条件聚合执行此操作:

SELECT CAST(StartDate as date) AS ForDate,
       DATEPART(hour, StartDate) AS OnHour,
       COUNT(*) AS TotalStarts,
       SUM(CASE WHEN CAST(StartDate as date) <> CAST(EndDate as date) or
                     DATEPART(hour, StartDate) <> DATEPART(hour, EndDate)
                THEN 1
                ELSE 0
           END) as StartedButNotEndedInHour
FROM #Events
GROUP BY CAST(StartDate as date),
       DATEPART(hour,StartDate)
 类似资料:
  • 问题内容: 我有两个表: 我希望将事件数据添加到视频数据中,以便为每个事件获取视频文件名。记录器字段用于指定在事件发生时可操作的记录器,并协助多个记录器同时记录视频。 如果我不关心没有视频的事件,那很好(我可以获取SQL),但是在我的情况下,我希望显示最接近的视频文件名和秒数差异。 编辑 样本数据 大事记 视频 结果(EventID,VideoID,文件名,IsBetween,secondsDif

  • 我有这样的桌子 数据如下所示,开始时间和结束时间是连续的时间跨度: 因此,如果用户传递两个参数,则可以在任意时间段内选择* 它应该以如下方式返回表: 你看,棘手的部分是将原始的时间跨度削减到用户定义的时间跨度(@from-@To),我已经为此奋斗了一整天。请指教。 提前非常感谢你!!!

  • 我有一个按小时对记录进行分组的查询,如下所示: 这将记录分为一个小时窗口,每个小时窗口从第0分钟开始。 这个需求的一点背景:我有一个自动测试,它会导致数据库被填充。在我的测试开始之前,数据库可能已经有了一些记录。我的自动测试的目标是每小时完成一定数量的任务。我正在寻找一种方法来验证我的测试的准确性,方法是在DB中为每小时生成一个报告,其中每小时从匹配条件的第一条记录的时间戳(分钟)开始(我可以定义

  • 我想从JavaGUI到数据库获取startTime和endTime的值。 电脑座位班 Cobadatabase类 这里的问题是,当单击登录按钮时,开始时间显示在我的数据库中的开始时间和结束时间列上。当单击注销按钮时,将在数据库中创建另一个行,该行在starTime和endTime列上都包含endTime。我想知道为什么会这样...

  • 是否可以跟踪卡桑德拉的“预订”? 基本上,我的大多数查询将涉及一个和一个,我希望在其中找到与该时间相交的所有保留。 我的模式如下所示: 我输入了一些数据,如下所示: 我正在尝试这样的查询: 我得到一个这样的错误: 我认为这是可以做到的,因为在这个SO问题中似乎是这样的:在cassandra中存储时间范围 但是,架构没有发布,我们也没有使用pycassa,而且我似乎无法弄清楚如何将其映射到CQL。