繁体   English   中英

Sql function 查找每组两个连续行之间的日期差异

[英]Sql function find date difference between two consecutive rows per group

我正在研究临床数据,通过查找日期差异来查找患者的总疗程。 我可以使用 Python 来实现这一点,但 power bi 不支持该脚本。 所以我需要帮助在 SQL 中执行此操作。 我是 SQL 的基本用户,所以不知道如何开始。

下面是原始数据

患者 ID 会议日期
264 2021 年 5 月 26 日
264 2021 年 5 月 27 日
264 2021 年 5 月 28 日
264 2021 年 5 月 19 日
264 2021 年 5 月 20 日
264 2021 年 5 月 21 日
264 2021 年 5 月 24 日
264 2021 年 5 月 25 日
264 2021 年 5 月 17 日
264 2021 年 5 月 18 日
281 2021 年 5 月 18 日
281 2021 年 5 月 25 日
281 2021 年 6 月 29 日
281 2021 年 6 月 1 日
281 2020 年 4 月 16 日
281 2020 年 4 月 23 日
281 2020 年 4 月 21 日
281 2020 年 4 月 28 日
281 2020 年 4 月 30 日
281 2020 年 5 月 5 日
281 2019 年 10 月 16 日

预期的 output 如下

预期数据

根据@Akina 提示,我能够从以下查询中获得所需的 output 注意:-我的 sessionDate列采用日期和时间戳格式。

select
        t.PatientID,

        CAST(t.SessionTimestamp as Date) as SessionDate,

        LAG(t.SessionTimestamp) over(partition by t.PatientRecordId order by t.PatientID,t.SessionTimestamp) as Next_Date  


from mytable t

order by
t.PatientID,
t.SessionTimestamp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM