我们有一个患者数据库,显示了他们在我们诊所的各种就诊细节,例如他们在那次就诊时的体重。我想生成一份报告,根据该就诊日期与患者首次就诊日期之间的差异返回该就诊(来自表格的一行),使其尽可能大但不超过X天。
这很令人困惑,让我举个例子。假设我有以下名为
在我的查询中,如果我想要运行这份报告达到"30天"的目的,我将希望返回
我尝试了各种方法,例如将表格自连接,或在
更大的问题是:数据库有约5000名患者,每个患者都可能有任意数量的就诊记录。我想构建报告,告诉我从他们的第一次访问到X天之间(也就是从每个单独患者的第一次访问开始算起的X天,而不是任意的X天期限),所有患者共同的平均等待时间损失。我希望如果我能解决上述问题,我将能够解决其余的问题。
这很令人困惑,让我举个例子。假设我有以下名为
patient_visits
的表:visit_id | created | patient_id | weight
---------+---------------------+------------+-------
1 | 2006-08-08 09:00:05 | 10 | 180
2 | 2006-08-15 09:01:03 | 10 | 178
3 | 2006-08-22 09:05:43 | 10 | 177
4 | 2006-08-29 08:54:38 | 10 | 176
5 | 2006-09-05 08:57:41 | 10 | 174
6 | 2006-09-12 09:02:15 | 10 | 173
在我的查询中,如果我想要运行这份报告达到"30天"的目的,我将希望返回
visit_id = 5
的行,因为它是未来28天,而下一行是未来35天,这太多了。我尝试了各种方法,例如将表格自连接,或在
WHERE
子句中创建一个子查询以尝试返回created + 30天
等于或小于created
的最大值,但现在似乎陷入了困境。最后的备选方案是将所有数据提取到PHP数组中,并在那里构建一些逻辑,但我真的不想那样做。更大的问题是:数据库有约5000名患者,每个患者都可能有任意数量的就诊记录。我想构建报告,告诉我从他们的第一次访问到X天之间(也就是从每个单独患者的第一次访问开始算起的X天,而不是任意的X天期限),所有患者共同的平均等待时间损失。我希望如果我能解决上述问题,我将能够解决其余的问题。