gpt4 book ai didi

SQL计算一张表中两个日期之间的天数

转载 作者:行者123 更新时间:2023-12-04 21:20:27 25 4
gpt4 key购买 nike

我有一个表 dbo.Trans,其中包含一个名为 bd_id (varchar) 和 transfer_date (Datetime) 的 id,还有一个标识符 member_id pk 是 trns_id 并且是顺序的

表中存在 bd_idmember_id 的重复项。

transfer_date       |bd_id| member_id | trns_id
2008-01-01 00:00:00 | 432 | 111 | 1
2008-01-03 00:00:00 | 123 | 111 | 2
2008-01-08 00:00:00 | 128 | 111 | 3
2008-02-04 00:00:00 | 123 | 432 | 4
.......

对于每个 member_id,我想获取日期和每个 bd_id 之间的天数

例如,成员 1114322008-01-01 使用 2008-02-01 所以返回应该是 2然后接下来是 5
我知道 DATEDIFF() 函数存在,但我不确定当日期在同一个表中时如何获得差异。

任何帮助表示赞赏。

最佳答案

你可以尝试这样的事情。

select T1.member_id,
datediff(day, T1.transfer_date, T3.transfer_date) as DD
from YourTable as T1
cross apply (select top 1 T2.transfer_date
from YourTable as T2
where T2.transfer_date > T1.transfer_date and
T2.member_id = T1.member_id
order by T2.transfer_date) as T3

SE-Data

关于SQL计算一张表中两个日期之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12007857/

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