create table tb(name varchar(10),val int,memo varchar(20))
insert into tb values('a', 2, 'a2(a的第二个值)');
insert into tb values('a', 1, 'a1--a的第一个值');
insert into tb values('a', 3, 'a3:a的第三个值');
insert into tb values('b', 1, 'b1--b的第一个值');
insert into tb values('b', 3, 'b3:b的第三个值');
insert into tb values('b', 2, 'b2b2b2b2');
insert into tb values('b', 4, 'b4b4');
insert into tb values('b', 5, 'b5b5b5b5b5');
首先,建立测试表
select a.* from tb a
where 2 > (select count(*) from tb where name = a.name and val > a.val )
order by a.name,a.val
分组选取,结果如下