有一个表的内容如下:
     field1 field2 field3
        a     1      dd
        a     2      ee
        a     3      ee
        a     4      ee
        a     1      c
        a     2      e
        a     3      null
        a     1      8
        a     2      5
        a     2      4field3字段的内容不用管它.
我想让它按字段field2 来分三个结果集出现即第一个结果集为
        a     1      dd
        a     2      ee
        a     3      ee
        a     4      ee
第二个结果集为:
        a     1      c
        a     2      e
        a     3      null
第三个结果集为
        a     1      8
        a     2      5
        a     2      4
请问该如何实现呀?或者说我要获得其中的一个结果集该如何实现呀?

解决方案 »

  1.   

    不好意思更正一下:
    有一个表的内容如下:
         field1 field2 field3
            a     1      dd
            a     2      ee
            a     3      ee
            a     4      ee
            a     1      c
            a     2      e
            a     3      null
            a     1      8
            a     2      5
            a     3      4field3字段的内容不用管它.
    我想让它按字段field2 来分三个结果集出现即第一个结果集为
            a     1      dd
            a     2      ee
            a     3      ee
            a     4      ee
    第二个结果集为:
            a     1      c
            a     2      e
            a     3      null
    第三个结果集为
            a     1      8
            a     2      5
            a     3      4
    请问该如何实现呀?或者说我要获得其中的一个结果集该如何实现呀?
      

  2.   

    条件是field2,就是以field2来划分组.
    如上面三个结果集就是三个组.
      

  3.   

    -----------引用--------------
    条件是field2,就是以field2来划分组.
    如上面三个结果集就是三个组.如果是这样那得到的是4组
    a     1      dd
    a     1      c
    a     1      8a     2      ee
    a     2      e
    a     2      5a     3      ee
    a     3      null
    a     3      4a     4      ee
      

  4.   

    --建立环境,临时表#,内容略--建立唯一递增ID,如果有的话不用建立
    select id=identity(int,1,1),* into ## from #--按递增序列分组
    select *,(select isnull(max(id),0) from ## where id<t.id and field2>t.field2) as page into ### from ## t  --查询
    declare @page int
    set @page=1 --设置页码
    exec('select * from ### where page=(select top 1 page from (select distinct top '+@page+'  page from ### order by page ) tt order by page desc)')
    --结果
    1 a 1 dd 0
    2 a 2 ee 0
    3 a 3 ee 0
    4 a 4 ee 0
    --当set @page=2 的结果
    5 a 1 c 4
    6 a 2 e 4
    7 a 3 NULL 4--当set @page=3 的结果
    8 a 1 8 7
    9 a 2 5 7
    10 a 2 4 7
      

  5.   

    如果結果是
        field1 field2 field3
            a     1      dd
            a     2      ee
            a     3      ee
            a     1      c
            a     2      e
            a     3      null
            a     1      8
            a     3      4
            a     2      5
            a     4      ee
    那結果是什么樣子的?