mysql - 获取mysql表中的最后一条记录

标签 mysql sql database

我有一个这样的数据库

  Update       Record_ID   Index    Location
    1          1             23       China
    1          1             24       Beijing
    1          1             45       Norway
    1          1             23       China
    2          1             423      Somne
    2          1             24       Beijing
    2          1             243      Nevela
    3          1             334      DEro
    3          1             555      Mood

我已经尝试过本网站上的其他示例,但仍无法解决我的情况,因此请不要快速将其标记为重复。

在这种情况下,我只有 1 条记录 1,但它们可能有数千条。

所以我需要获取所有唯一记录的更新的最后记录。所以在这种情况下,我应该为记录 1 返回类似这样的内容:

 3          1             334      DEro
 3          1             555      Mood

如果有记录 2 等,它们也将包含在这里。

我尝试使用“LIMIT”,但在这种情况下我的查询只返回了 1 行。

3          1             555      Mood

PS:此表有一个自动生成的 PK 列,我没有包含它。

Online Demo .

最佳答案

  SELECT * FROM table t1 
JOIN (SELECT Record_ID  ,MAX(Updates)as maxupdate FROM table GROUP BY Record_ID)x 
ON t1.Record_ID = x.Record_ID  AND t1.Updates=x.maxupdate

Fiddle

它也适用于多个 Record_id

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

相关文章:

mysql - 重新格式化表数据sql

mysql - 如何优化 MySQL View

MySQL 使用 AND 和 OR 进行复杂查询

mysql - sql内连接超过2个表和聚合函数

c# - 导入 sqlite 脚本以在 C# 和 t 中创建数据库

php - 当用户注册成功时,从文本字段中回显问题

sql - 比较 SQL Server 中日期和日期时间的相等性

database - 雪花组织帐号

mysql - 我该如何解决这个 System.IndexOutOfRangeException : Index was outside the bounds of the array

php - 从一个表中获取名称与另一个表中的匹配 ID?