同等条件多条数据,怎么样查到最新一条

MySql 码拜 9年前 (2016-02-08) 879次浏览
同等条件有多条数据,他们只有一个字段不一样就是time字段,本人想根据time字段查到最新一条,怎么查询,求高手解答
解决方案

10

select t1.* from tablename t1
from(select c1,c2,max(time) max_time from tablename group by c1,c2 )t2
where t1.c1=t2.c1 and t1.c2=t2.c2 and t1.time =t2.max_time;

20

引用 5 楼 heaimnmn 的回复:
Quote: 引用 2 楼 mchdba 的回复:

select t1.* from tablename t1
from(select c1,c2,max(time) max_time from tablename group by c1,c2 )t2
where t1.c1=t2.c1 and t1.c2=t2.c2 and t1.time =t2.max_time;

本人的意思查询条件相同,但是不同的time,本人又不知道time的值,麻烦了

不是分组那更好办了,你每次只查询出来一条数据嘛?假如是这样子,就order by time desc limit 1;
select t1.* from tablename t1 where t1.c1=xxx and t2.c2=xxx order by time desc limit 1;

5

参考下贴中的多种方法
http://blog.csdn.net/acmain_chm/article/details/4126306
[征集]分组取最大N条记录方法征集,及散分….

5

表结构是什么
select * from tt a where not exists(select 1 from tt where a.f1=f1 and a.time<time)

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明同等条件多条数据,怎么样查到最新一条
喜欢 (0)
[1034331897@qq.com]
分享 (0)