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

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

现在有一张表(暂且叫 tab_tmp)有80万条记录,其中有两个字段是 'deviceid'(设备ID)以及 'addtime'(记录添加时间),现在想在这张表里面查询所有不重复 'deviceid' 的记录,且这些 ‘addtime’ 是最大的。
...全文
131 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
珠海-天堂 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’ 是最大的。

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧