gpt4 book ai didi

SQL Server 2012 - 自连接或 CTE 方面的帮助

转载 作者:行者123 更新时间:2023-12-02 09:30:19 25 4
gpt4 key购买 nike

数据库管理系统:SQL Server 2012

我有一个包含以下列的表格

enter image description here

我需要做的是计算出NextCarDepartureTime。例如,Car2 将于 9/30/2014 1:12 AM 出发,Car3 将于 10/1/2014 12:10 AM 出发。最终目标是计算出 CarDepartedDateTimeNextCarDepartedTime 之间的小时差。所以最终结果看起来像

enter image description here

任何帮助将不胜感激!谢谢

最佳答案

您可以使用LEAD SQL Server 2012 中引入的分析函数。此函数访问表中的后续行。所以你的查询现在看起来像这样 -

;WITH    myCTE
AS ( SELECT T1.Year ,
T1.Month ,
T1.CarNumberID ,
T1.CarDepartedDateTime ,
T1.CarDepartedNumberID ,
LEAD(T1.CarDepartedDateTime) OVER ( ORDER BY T1.id ) AS [NextCarDepartureTime] ,
LEAD(T1.CarNumberID) OVER ( ORDER BY T1.id ) AS [NextCarNumberID]
FROM Test T1
)
SELECT * ,
DATEDIFF(HOUR, CarDepartedDateTime, NextCarDepartureTime) AS TurnAroundTime
FROM myCTE;

我在我的博客中写了一篇关于分析函数的博客文章:krishnrajrana.wordpress.com

关于SQL Server 2012 - 自连接或 CTE 方面的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33831052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com