mysql - 为每位患者在日期之前选择一个预约 (MySQL)

标签 mysql sql database

如果我只需要为一名患者执行此操作:

SELECT * FROM appts where pat_id = 1 and date < '2015-05-20' order by date dsc;

但我需要为每个患者提供这个:

SELECT * FROM appts as a, patients as p where a.pat_id=p.id a.date < '2015-05-20';

但这不起作用,因为它不会将每个患者的预约数量限制为 1 次,并且不会按每个患者的日期排序。

最佳答案

按用户分组并选择最新日期

SELECT pat_id, MAX(date) FROM appts as a WHERE date < '2015-05-20' GROUP BY pat_id;

如果有必要,您可以加入患者表。

关于mysql - 为每位患者在日期之前选择一个预约 (MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30357890/

相关文章:

c# - 第 1 行 ' ' 附近的 MySQL 语法错误

mysql - 更新行检查重复项

java - Spring Cassandra 存储一个带有自定义对象的列表

mysql - 使用 SELECT 值更新 SQL 列

database - 在 DolphinDB 中启动 PersistenceManager 失败

mysql - 除了循环之外,我如何加速 mysql 更新

javascript - 如何将js鼠标坐标获取到php插入查询中?

php - 阻止 sql 更新我的更新表单中的空白或空字段

mysql - 如何按周、月从mysql获取给定日期范围组的数据

php - Cakephp 3.x hasOne 插入默认外键