【发布时间】:2022-01-20 09:18:50
【问题描述】:
我正在研究临床数据,通过查找日期差异来查找患者的总疗程。我可以使用 Python 实现这一点,但 power bi 不支持该脚本。所以我需要帮助才能在 SQL 中做到这一点。我是 SQL 的初级用户,所以不知道如何开始。
以下是原始数据
| PatientID | SessionDate |
|---|---|
| 264 | 5/26/2021 |
| 264 | 5/27/2021 |
| 264 | 5/28/2021 |
| 264 | 5/19/2021 |
| 264 | 5/20/2021 |
| 264 | 5/21/2021 |
| 264 | 5/24/2021 |
| 264 | 5/25/2021 |
| 264 | 5/17/2021 |
| 264 | 5/18/2021 |
| 281 | 5/18/2021 |
| 281 | 5/25/2021 |
| 281 | 6/29/2021 |
| 281 | 6/1/2021 |
| 281 | 4/16/2020 |
| 281 | 4/23/2020 |
| 281 | 4/21/2020 |
| 281 | 4/28/2020 |
| 281 | 4/30/2020 |
| 281 | 5/5/2020 |
| 281 | 10/16/2019 |
预期输出如下
【问题讨论】:
-
DATEDIFF(date, LAG(date)) -
我会试试这个。谢谢!
-
嗨@Akina,我能够得到结果。但是有一个问题。我的日期列中有时间戳。我使用 Cast 将其转换为日期。但我无法在 LAG 函数中使用它,因此它给出的值是 1900-01-01 00:00:00.000 而不是零。你能建议如何解决这个问题吗?提前致谢
-
提供源数据不是表格,而是 CREATE TABLE + INSERT INTO 脚本。
-
@Akina。谢谢你指引我正确的方向。我能够构建一个查询,它给了我所需的输出