Table数据如下 :Id,            Title
------------------
1 Ms.
2 Mrs.
3 Ms.
4 Mrs.
5 Mr.
6 Mr.
7 Mr.
8 Ms.
9 Mrs.
10 Ms.------------------以Title字段分组,找出ID的最大前2条记录,使结果如下:
9 Mrs.
4 Mrs.
10 Ms.
8 Ms.
7 Mr.
6 Mr.

解决方案 »

  1.   


    declare @t table
    (id int IDENTITY(1,1),
    title varchar(50)
    )insert into @t(title) values('Ms.')
    insert into @t(title) values('Mrs.')
    insert into @t(title) values('Ms.')
    insert into @t(title) values('Mrs.')
    insert into @t(title) values('Mr.')
    insert into @t(title) values('Mr.')
    insert into @t(title) values('Mr.')
    insert into @t(title) values('Ms.')
    insert into @t(title) values('Mrs.')
    insert into @t(title) values('Ms.')select * from @t a
    where id in (select top 2 id from @t where title=a.title order by id desc)
    order by title,id desc
      

  2.   


    select * from TABLE a
    where EXISTS (select top 2 id from TABLE where title=a.title )