postgresql - 使用最早日期提取最早记录并过滤其他值
问题描述
我目前有一张桌子,上面有多个实验室订单,这些订单通常集中在一个实验室订单中,每个订单都有不同的组件和价值。我正在尝试提取datetime_1
每个患者 ( id
) 参考日期 ( ) 之后最早实验室测试日期的每个组成部分的值。
以下是样本数据:
id datetime_1 order_datetime item value
-----------------------------------------------------
1 9/1/21 09:57 9/2/21 04:21 A 13
1 9/1/21 09:57 9/2/21 04:21 B 8
1 9/1/21 09:57 9/2/21 04:21 C 11
1 9/1/21 09:57 9/3/21 16:00 A 10
1 9/1/21 09:57 9/3/21 16:00 B 4
1 9/1/21 09:57 9/3/21 16:00 C 7
1 9/2/21 02:30 9/2/21 04:21 A 13
1 9/2/21 02:30 9/2/21 04:21 B 8
1 9/2/21 02:30 9/2/21 04:21 C 11
1 9/2/21 02:30 9/3/21 16:00 A 10
1 9/2/21 02:30 9/3/21 16:00 B 4
1 9/2/21 02:30 9/3/21 16:00 C 7
我需要输出显示为:
id datetime_1 a_level b_level c_level
------------------------------------------------
1 9/1/21 09:57 13 8 11
1 9/2/21 02:30 13 8 11
我的输出显示了每个item
(A, B, C) 之后的最早级别datetime_1
。
我试过了:
select id,
row_number() over (partition by id, datetime_1 order by order_datetime) as lab_order,
case when lab_order = 1 and item = 'A' then value else null end as a_level
但是由于在同一日期有 A、B、C 值,这会产生很多重复并弄乱lab_order
.
如果有人可以帮助最好地在最早的日期捕获每个值,我将不胜感激。
解决方案
推荐阅读
- r - Wilcoxon 循环测试
- docker - 如何在自动重启时检测 Docker 故障错误代码?
- html - 从本地文件显示 Iframe 中的 HTTPS 源
- mysql - 使用循环方法创建标签和条目
- javascript - 如何实现关系/嵌套的 observables?
- python-3.x - 如何从有向图实现 PyTorch NN
- unit-testing - 用 mock 编写好的单元测试的关键点是什么
- r - 如何在闪亮的仪表板中使用多个 slickROutput
- python - 将布尔值索引到 Pandas 列
- sql - BigQuery:按自定义维度、内容组和事件类别/操作划分的 GA 网页浏览和事件?