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