大量数据查询求解决方案!

pygmalion 2012-03-02 10:15:07
本人遇到一个这样的问题,求各路神仙提供一种解决方法。

现在有一张表(暂且叫 tab_tmp)有80万条记录,其中有两个字段是 'deviceid'(设备ID)以及 'addtime'(记录添加时间),现在想在这张表里面查询所有不重复 'deviceid' 的记录,且这些 ‘addtime’ 是最大的。
...全文
114 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
珠海-天堂 2012-03-02
select max(addtime),distinct(deviceid)
from tab_tmp
group by deviceid;
  • 打赏
  • 举报
回复
liangCK 2012-03-02
select * from tab_tmp as a
where not exists(select * from tab_tmp
where a.devceid=devceid and addtime>a.addtime)
  • 打赏
  • 举报
回复
一起混吧 2012-03-02
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;
  • 打赏
  • 举报
回复
pygmalion 2012-03-02
感谢楼上的回答,不过没有达到我要的效果,可能我没有把问题描述清楚。我想要的是:
表(暂且叫 tab_tmp)有80万条记录,其中有两个字段是 'deviceid'(设备ID)以及 'addtime'(记录添加时间),现在想在这张表里面查询所有不重复 'deviceid' 的记录,且这条记录(包括其他字段)的 ‘addtime’ 是最大的。
  • 打赏
  • 举报
回复
相关推荐
发帖
MySQL

5.6w+

社区成员

MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
帖子事件
创建了帖子
2012-03-02 10:15
社区公告
暂无公告