最佳答案
这是一个依赖于窗口函数 RANK()
的解决方案,自 MySQL 8.0 起可用:
SELECT *
FROM (SELECT id, name, time1, RANK() OVER(ORDER BY time1 DESC) rnk FROM mytable) x
WHERE rnk = 1
内部查询为每条记录分配一个排名,按时间降序排序;排名靠前的排名相同,1
。然后外部查询仅过滤排名为 1
的记录。
关于mysql - 如何从数据库mysql中选择特定列中具有相同且最新值的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55428687/