mysql - 选择元素列表,如果它们具有相同的日期,则采用最新的

标签 mysql date select

我有那两张 table

Period (idPeriod, startDate, endDate)
Person (idPerson, name, idPeriod,...otherInfos)

我们可以在很多时段准时拥有一个人。 我的实际查询是返回一个具有最近开始日期的人

SELECT * FROM person p INNER JOIN period per on per.idPeriod = org.idPeriod
where per.endDate = (SELECT MAX(per.startDate) from per) group by name;

如何检索人员列表。如果此人存在多次,则返回 startDate 最近的那个。

最佳答案

试试这个:

SELECT p.name, p.idPerson, MAX(per.startDate) 
FROM person p LEFT JOIN period per on per.idPeriod = org.idPeriod
GROUP BY  p.name, p.idPerson

关于mysql - 选择元素列表,如果它们具有相同的日期,则采用最新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17845175/

相关文章:

mysql - 我怎样才能完全复制我的sql数据库?

mysql - CakePhp mysql原始查询错误

javascript - 比较三个日期以获得最新的 MongoDB

java - 从 Notes DateTime 对象设置 Java 日期对象

Python:返回该月第三个星期四的下一次出现的日期

javascript - 使用选择选项添加/编辑/删除行 - Javascript

mysql - 阅读 mysql 文档是学习 mariadb 概念的好方法吗?

mysql - 如何使用mysql使用同一数据集中另一个字段的数据更新一个字段?

data-binding - 如何在下拉 knockout js中预先选择一个选项

php - 使用 PHP 编写程序时遇到问题