开发者社区> 问答> 正文

如何在SQL Server中通过deviceid从每个组中获取最新的1条记录

0

如何从尝试的每个设备查询中获取最新记录

select * from Data 
where dname = 'abc'
group by did
order by timestamp desc

样本数据

sl  emei            mname dname did timestamp
66  868997036667    LB    abc   52  59.6 2019-09-06 14:51:21.0000000
67  868997036667    LB    abc   46  59.3 2019-09-06 15:51:21.0000000
68  868997036667    LB    abc   52  58.4 2019-09-06 16:51:21.0000000
69  868997036667    LB    abc   46  58.5 2019-09-06 17:51:21.0000000
运

 68 868997036667    LB    abc   52  58.4 2019-09-06 16:51:21.0000000
69  868997036667    LB    abc   46  58.5 2019-09-06 17:51:21.0000000

展开
收起
心有灵_夕 2019-12-10 17:30:29 930 0
1 条回答
写回答
取消 提交回答
  • 你可以用row_number()与partition。

    select * 
    from (select sl, emei, mname, dname, timestamp, did
        , row_number() over (partition by did order by sl desc) as rn
        from Data where dname = 'abc') t1 
    where t1.rn = 1
    
    2019-12-10 17:31:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载