一佳一

记录像1+1一样简洁的代码

导航

根据时间获取最新数据 SQL(每一个人或者每一项)

Posted on 2017-11-03 18:38  一佳一  阅读(823)  评论(0编辑  收藏  举报
-- 方法1
select a.* 
 from table1 a
 where not exists(select 1 
                  from table1 b
                  where b.name=a.name and b.gdtime>a.gdtime)
 
-- 方法2
select a.*
 from table1 a
 inner join
 (select name,
         max(gdtime) 'maxgdtime'
  from table1 
  group by name) b on a.name=b.name and a.gdtime=b.maxgdtime

测试三百万条数据查询后,方法2查询速度更快,建议使用第二种 关联查询法