日期:2014-05-16  浏览次数:20722 次

大量数据查询求解决方案!
本人遇到一个这样的问题,求各路神仙提供一种解决方法。

现在有一张表(暂且叫 tab_tmp)有80万条记录,其中有两个字段是 'deviceid'(设备ID)以及 'addtime'(记录添加时间),现在想在这张表里面查询所有不重复 'deviceid' 的记录,且这些 ‘addtime’ 是最大的。

------解决方案--------------------
select a.* from tab_tmp as a inner join
(
select deviceid, count(*) as num
from tab_tmp
group by deviceid having num=1
) b
on a.deviceid=b.deviceid;
------解决方案--------------------
SQL code
select * from tab_tmp as a
where not exists(select * from tab_tmp 
                  where a.devceid=devceid and addtime>a.addtime)