sql - 如何在 SQL Server 中比较具有相同 ID 的不同行之间的两个日期时间值?
问题描述
我想比较来自共享参考号的不同行的两个日期时间值。具有相同引用的两个日期时间值始终来自同一天,因此预期结果是一列,其中包含在每行的日期时间与表中具有相同引用的第一行之间经过的小时、分钟和秒数.
问题是通常有两个以上的行具有相同的引用,我总是需要从每行的日期时间中减去可用于该引用的最早日期时间。
我怎么能在 SQL Server 中做到这一点?
此致
解决方案
您只需使用窗口函数。像这样的东西:
select t.*,
datediff(second, min(dt_col) over (partition by ref), dt_col) as time_in_seconds
from t;
您的问题似乎不是关于将结果格式化为时间,所以这只是将值返回为秒。
推荐阅读
- reactjs - 即使验证模式报告错误,Formik 的“isValid”也报告为真
- c++ - MS Visual Studio 2015。“构建解决方案”失败。但是“对解决方案运行代码分析”有效。?
- javascript - JavaScript (ReactJS) 比较两个对象
- java - 聆听他们在运行时创建的新 ActiveMQ 主题
- angular - @azure/msal-angular 1.1.1 有 TypeError: glob pattern string required
- typescript - 不可变函数参数打字稿
- elasticsearch - java.lang.IllegalStateException:Logstash 因错误停止处理:(SystemExit)退出
- c# - 如何使用反射来获取方法的字段?
- excel - 在excel中检测以“Feu”开头的工作表名称
- javascript - 为什么对象作为 React 子对象无效?