【问题标题】:Mysql get latest record of each group where pk and date are differentMysql获取pk和日期不同的每个组的最新记录
【发布时间】:2013-11-24 03:21:25
【问题描述】:

我有以下列的表格

  • pk - bigint - 主键
  • 时间戳 - int(11)
  • id - int(4)
  • 一些额外的列

id + 时间戳可以重复

我想在单个查询中获取每个 id 的最新记录

目前我对每个项目 id 运行以下查询

select data.* from (
select pk from data 
    where 
     id = 1001
     order by timestamp desc, pk desc
     limit 1)

【问题讨论】:

    标签: mysql


    【解决方案1】:

    试试这个:

    Select d.*
      From data d
     Where d.pk in ( select max(d2.pk)
                       From data d2
                   Group by d2.id, d2.timestamp
                    )
    

    【讨论】:

    • 我有大约 900k 数据,其中有 30 个 id,因此运行此查询需要很长时间。
    猜你喜欢
    • 2015-11-07
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 2016-11-26
    相关资源
    最近更新 更多