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);