mysql - 获取一对多关系的最后一条记录

标签 mysql

我有两个表

users : id,name

health : id,status,test_date,user_id

包含用户健康历史的健康表

现在我想获取特定用户的最后一次健康测试和用户信息

我试过这个查询

SELECT users.*, health.* FROM users INNER JOIN health ON users.id=health.user_id
having (max(health.id)) order by users.id desc limit 50 

但是我失败了

最佳答案

试试这个:

SELECT users.*, health.* FROM users  
INNER JOIN health  
    ON health.id = (SELECT id FROM health WHERE health.id = users.id ORDER BY id DESC LIMIT 1)

关于mysql - 获取一对多关系的最后一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29986098/

相关文章:

php - 如何将帖子插入 wordpress 并将其与类别相关联?

mysql - 将表中的一列复制到另一列中具有匹配变量的另一表

mySQL 触发器更新计数

python - peewee DoubleField 的默认值不会反射(reflect)在 MySQL 数据库中

php - CakePHP/MySQL : find with a condition for model itself and an assigned model

php - 如何从数据库中的图像 ID 生成 url?

mysql - 如何检查特定表的 MySQL 引擎类型?

mysql - 导入sql数据库时出错

php - 如何根据数组值编写查询

php - 担心有人会运行仅用于 cron 作业的 php 脚本