sql - DateDiff 噩梦
问题描述
seconf这里是一个例子:
ID Datetime1 datetime2 (Results needed)
1 1/1/2010 7:54 1/2/2010 6:54 23
1 1/1/2010 7:54 1/4/2010 6:54 48
1 1/1/2010 7:54 1/5/2010 6:54 24
2 1/5/2010 11:00 1/8/2010 11:00 72
3 1/30/2010 23:05 2/1/2010 22:05 47
注意第一行中的 ID 1,它执行了正常的 datediff,但在第二行和第三行中,我需要它使用相同 IDstartdate
的 datetime2 和enddate
datetime2。
turnaround time
column 是我需要的输出列,我只尝试了正常的 datediff 但它只是计算和之间的datetime1
差异datetime2
。我的问题是它可以是许多值为 1 的 ID,所以我需要 datediff 来动态更新相同 IDstartdate
是否存在另一个enddate
。我在 RDBMS 'Microsoft SQL server' 中工作,我尝试的代码如下:
select * ,datediff(hh,datetime1,datetime2) as 'Turnaround time' from my_table order by datetime1 asc 我希望这能稍微清除一下。先感谢您
解决方案
答案是下面的 Lead 和 Lag 函数 URL: https ://www.databasejournal.com/features/mssql/lead-and-lag-functions-in-sql-server-2012.html
推荐阅读
- swift - Swift,如何同步 reverseGeocodeLocation 功能(通过使用信号量或调度组......等)
- c# - RichEditBox - KeyDown 不捕获“删除”键,但 keyup 可以
- google-chrome - MVC 在 Microsoft Word 中打开二进制文件
- angular - 执行函数sequentitaly angular 4 / typescript
- python - 从未知文件类型中提取 PCM
- javascript - 小型多折线图的独立比例
- google-chrome - 隐私政策 Chrome 扩展程序
- flutter - 如何在 SliverPersistentHeaderDelegate 上为颜色和半径设置动画?
- python - Tkinter:绘制多个图,GUI 崩溃,Windows 说 python 程序没有响应?
- react-native - 如何在 Expo 应用程序上使用 Axios 从后端获取