gpt4 book ai didi

sql - sql server中两个连续日期之间的差异(以天为单位)

转载 作者:行者123 更新时间:2023-12-03 02:26:51 25 4
gpt4 key购买 nike

以下是公司表,我需要根据companyId和rownum获取连续两个日期之间的差异(天数)

company_id  date    row_num
101 2017-01-12 1
101 2017-02-22 2
118 2017-03-23 1
119 2017-04-18 1
123 2017-01-12 1
123 2017-01-15 2
123 2017-01-22 3
501 2017-01-30 1
501 2017-02-02 2

预期输出:

company_id  date    days
101 2017-01-12 0
101 2017-02-22 41
118 2017-03-23 0
119 2017-04-18 0
123 2017-01-12 0
123 2017-01-15 3
123 2017-01-22 7
501 2017-01-30 0
501 2017-02-02 3

最佳答案

这可以简单地使用自连接来完成,而不需要使用任何分析函数,因为 row_num 已在表中可用。

SELECT  a.company_id, 
a.billing_failure_date,
a.row_num,
ISNULL(DATEDIFF (d, b.billing_failure_date, a.billing_failure_date), 0) AS Days
FROM TableName a
LEFT JOIN TableName b
ON a.company_id = b.company_id
AND a.row_num = b.row_num + 1

这是一个Demo .

关于sql - sql server中两个连续日期之间的差异(以天为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48921395/

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