首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求一获得结果集的SQL语句,该如何解决

2011-12-31 
求一获得结果集的SQL语句有一个表的内容如下:field1field2field3a1dda2eea3eea4eea1ca2ea3nulla18a25a24fi

求一获得结果集的SQL语句
有一个表的内容如下:
          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             4

field3字段的内容不用管它.
我想让它按字段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
请问该如何实现呀?或者说我要获得其中的一个结果集该如何实现呀?


[解决办法]
每個結果集分開的條件是什麽?
[解决办法]
条件不充分
[解决办法]
--建立环境,临时表#,内容略

--建立唯一递增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) ')


--结果
1a1dd0
2a2ee0
3a3ee0
4a4ee0


--当set @page=2 的结果
5a1c4
6a2e4
7a3NULL4

--当set @page=3 的结果
8a187
9a257
10a247
[解决办法]
如果結果是
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
那結果是什么樣子的?

热点排行