大量数据查询求解决方案! 本帖最后由 ldlovemm 于 2012-03-02 10:19:27 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select max(addtime),distinct(deviceid)from tab_tmpgroup by deviceid; 感谢楼上的回答,不过没有达到我要的效果,可能我没有把问题描述清楚。我想要的是: 表(暂且叫 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 ) bon a.deviceid=b.deviceid; select * from tab_tmp as awhere not exists(select * from tab_tmp where a.devceid=devceid and addtime>a.addtime) 跪求!!将数据库读入内存快速的方法 新年好,请教把EXCEL导入MYSQL 应该如何做! 谁能帮忙 循环插入 数据的例子 关于mysql安装的相关问题 MySql安装时的不能启动服务的问题的解决 Mysql insert,update等有中文时出错 怎样批量修改mysql 中表和字段的编码方式? 谁能帮我把sql文件导出frm,MYD,MYI形式? mysql 表检测及自动修复bat脚本 关于MYSQL中对字段更新为另一字段的自然对数出错 一个同步的疑难问题 mysql大量记录的查询问题
from tab_tmp
group by deviceid;
表(暂且叫 tab_tmp)有80万条记录,其中有两个字段是 'deviceid'(设备ID)以及 'addtime'(记录添加时间),现在想在这张表里面查询所有不重复 'deviceid' 的记录,且这条记录(包括其他字段)的 ‘addtime’ 是最大的。
(
select deviceid, count(*) as num
from tab_tmp
group by deviceid having num=1
) b
on a.deviceid=b.deviceid;
where not exists(select * from tab_tmp
where a.devceid=devceid and addtime>a.addtime)