gpt4 book ai didi

mysql - 使用 GROUP BY 从 MySql 数据库中获取第二高的值

转载 作者:行者123 更新时间:2023-12-01 00:12:07 25 4
gpt4 key购买 nike

我有一个表tbl_patient,我想获取每位患者的最后 2 次就诊,以便比较患者的状况是在改善还是在恶化。

tbl_patient

id | patient_ID | visit_ID | patient_result
1 | 1 | 1 | 5
2 | 2 | 1 | 6
3 | 2 | 3 | 7
4 | 1 | 2 | 3
5 | 2 | 3 | 2
6 | 1 | 3 | 9

我尝试了下面的查询来获取每个患者的最后一次就诊,

SELECT MAX(id), patient_result FROM `tbl_patient` GROUP BY `patient_ID`

现在我想通过查询获取每个患者的第二次最后一次就诊,但它给我错误(#1242 - 子查询返回超过 1 行)

SELECT id, patient_result FROM `tbl_patient` WHERE id <(SELECT MAX(id) FROM `tbl_patient` GROUP BY `patient_ID`) GROUP BY `patient_ID`

我哪里错了

最佳答案

select p1.patient_id, p2.maxid id1, max(p1.id) id2
from tbl_patient p1
join (select patient_id, max(id) maxid
from tbl_patient
group by patient_id) p2
on p1.patient_id = p2.patient_id and p1.id < p2.maxid
group by p1.patient_id

id11是上次访问的ID,id2是倒数第2次访问的ID。

关于mysql - 使用 GROUP BY 从 MySql 数据库中获取第二高的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14018705/

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