我有患者就诊数据,包括入院日期时间、出院日期时间以及 DRGWeight 等一些指标。我需要以四小时为增量或以四小时为单位对患者进行人口普查。有没有办法对日期时间字段执行此操作并对它们进行分组?或者,每小时分解一次会有所帮助,然后我可以在另一个工具中进行分组。
例如,假设我有以下数据:
create table encounters (
id int,
DRGWeight decimal(10,2),
AdmitDTS datetime,
DischargeDTS datetime,
);
insert into encounters values (1,'1.81','2024-01-18 10:17','2024-01-19 18:15');
insert into encounters values (2,'1.78','2024-02-07 11:37','2024-02-12 13:49');
insert into encounters values (3,'0.40','2024-01-09 5:41','2024-01-10 15:10');
insert into encounters values (4, '1-95', '2024-01-21 8:10', '2024-01-25 10:00');
我已经查找了如何分解表格,但这只是为范围内的每个日期提供了新行。
我的理想状态会导致遭遇 ID“1”显示如下所示:
id | DRGWt | 承认DTS | 放电DTS | 人口普查DTS | 移动 |
---|---|---|---|---|---|
1 | 1.81 | 2024-01-18 10:17 | 2024-01-19 18:15 | 2024-01-18 11:59 | 3 |
1 | 1.81 | 2024-01-18 10:17 | 2024-01-19 18:15 | 2024-01-18 15:59 | 4 |
1 | 1.81 | 2024-01-18 10:17 | 2024-01-19 18:15 | 2024-01-18 19:59 | 5 |
1 | 1.81 | 2024-01-18 10:17 | 2024-01-19 18:15 | 2024-01-18 23:59 | 6 |
1 | 1.81 | 2024-01-18 10:17 | 2024-01-19 18:15 | 2024-01-19 3:59 | 1 |
1 | 1.81 | 2024-01-18 10:17 | 2024-01-19 18:15 | 2024-01-19 7:59 | 2 |
1 | 1.81 | 2024-01-18 10:17 | 2024-01-19 18:15 | 2024-01-19 11:59 | 3 |
1 | 1.81 | 2024-01-18 10:17 | 2024-01-19 18:15 | 2024-01-19 15:59 | 4 |
1 | 1.81 | 2024-01-18 10:17 | 2024-01-19 18:15 | 2024-01-19 19:59 | 5 |
我不知道也不理解它的目的,但你可以在另一个表上应用完全连接来“爆炸”......
declare @encounters table (
id int,
DRGWeight decimal(10,2),
AdmitDTS datetime,
DischargeDTS datetime
);
insert into @encounters values (1,'1.81','2024-01-18 10:17','2024-01-19 18:15');
insert into @encounters values (2,'1.78','2024-02-07 11:37','2024-02-12 13:49');
insert into @encounters values (3,'0.40','2024-01-09 5:41','2024-01-10 15:10');
insert into @encounters values (4,'1.95', '2024-01-21 8:10', '2024-01-25 10:00');
declare @t table (id int)
insert into @t values
(1),(1),(1),(1),(1),(1)
,(2),(2),(2),(2),(2),(2)
,(3),(3),(3),(3),(3),(3)
,(4),(4),(4),(4),(4),(4)
select *
from @encounters e
full join @t t on t.id = e.id
结果: