SQL Server 2014 计算之间的小时数

问题描述 投票:0回答:0

我在计算查询中的某些内容时遇到问题,需要一些帮助!这是示例数据表:

人员号码 开始打孔 打孔结束 支付代码名称
100038 2023-05-06 07:30:00.000 违反休息规定
100038 2023-05-07 14:30:00.000 2023-05-07 15:30:00.000 召回
100038 2023-05-07 16:30:00.000 2023-05-07 18:00:00.000 召回
100038 2023-05-08 07:30:00.000 违反休息规定
97976 2023-05-06 07:30:00.000 违反休息规定
97976 2023-05-07 14:30:00.000 2023-05-07 15:30:00.000 召回
97976 2023-05-07 16:30:00.000 2023-05-07 18:00:00.000 召回
97976 2023-05-08 07:30:00.000 违反休息规定

我需要计算的是,每个 REST VIOLATION 行之间存在的召回小时总数。

最终输出如下所示:

人员号码 开始打孔 打孔结束 支付代码名称 中间回忆一下
100038 2023-05-06 07:30:00.000 违反休息规定 0
100038 2023-05-08 07:30:00.000 违反休息规定 2.5
97976 2023-05-06 07:30:00.000 违反休息规定 0
97976 2023-05-08 07:30:00.000 违反休息规定 2.5

我尝试过 CTE 表、子查询、窗口函数和 ChatGPT,但总是不够......

sql ssms
© www.soinside.com 2019 - 2024. All rights reserved.