mysql 分组 group by, 排序 取每条记录中,时间最大的一条记录

www.111cn.net 更新:2010-10-25 编辑:kp12345 来源:转载

mysql教程 分组 group by, 排序 取每条记录中,时间最大的一条记录


select a.* from test a,
(select aid, max(day) max_day from test group by aid) b
where a.aid = b.aid and a.day = b.max_day
order by a.install desc

以下是 test 表,测试sql


create table if not exists `test` (
`id` int(10) unsigned not null auto_increment,
`install` int(10) unsigned not null,
`day` int(10) unsigned not null,
`aid` int(10) unsigned not null,
primary key (`id`)
) engine=myisam default charset=utf8 auto_increment=12 ;

insert into `test` (`id`, `install`, `day`, `aid`) values
(1, 1232, 20080808, 1),
(2, 2321, 20080809, 2),
(3, 1236, 20080810, 3),
(5, 4212, 20080809, 1),
(6, 2312, 20080810, 1),
(7, 1432, 20080811, 1),
(8, 2421, 20080808, 2),
(9, 4245, 20080811, 2),
(10, 5654, 20080810, 2),
(11, 412, 20080808, 3);

相关内容