当前位置:  开发笔记 > 编程语言 > 正文

MySQL - 选择列+ X>列的行

如何解决《MySQL-选择列+X>列的行》经验,为你挑选了0个好方法。

我们有一个患者数据库,显示他们对我们办公室的各种访问的详细信息,例如他们在访问期间的体重.我想生成一个报告,该报告根据访问日期与患者首次访问之间的差异返回访问(表格中的一行),该访问是可能的最大值但不超过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子句中创建子查询以尝试返回createdWHERE等于或小于的最大值created + 30 days,但我似乎不知所措.这点.作为最后的手段,我可​​以将所有数据拉入PHP数组并在那里构建一些逻辑,但我真的不愿意.

更大的图景是:该数据库有大约5,000名患者,每个患者都有任意数量的办公室访问.我想建立一份报告,告诉我从第一次就诊到X天的所有患者的平均等待损失是什么(即每个患者第一次就诊的X天,而不是任意的X天期间).我希望如果我能解决上述问题,我将能够完成其余工作.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有