SQL中数据分页,每页固定行数,不足补空行的实例讲解

创建表

use [zws]

go

/****** object: table [dbo].[test] script date: 2018/5/17 21:26:29 ******/

set ansi_nulls on

go

set quoted_identifier on

go

create table [dbo].[test](

[id] [int] null,

[val] [varchar](50) null

) on [primary]

go

insert [dbo].[test] ([id], [val]) values (1, n’aa’)

insert [dbo].[test] ([id], [val]) values (2, n’bb’)

insert [dbo].[test] ([id], [val]) values (3, n’cc’)

insert [dbo].[test] ([id], [val]) values (4, n’dd’)

insert [dbo].[test] ([id], [val]) values (6, n’ff’)

insert [dbo].[test] ([id], [val]) values (7, n’fff’)

insert [dbo].[test] ([id], [val]) values (8, n’xd’)

分行语句一:

/****** script for selecttopnrows command from ssms ******/

select id ,val

from dbo.test

union all

select null,null

from

(select number from master..spt_values where type=’p’ and number >0) bb,

(select count(*) ‘totalcn’,

case when 1-(count(*)/5.0%1) <1

then (1-count(*)/5.0%1)*5

else 0 end as ‘maxcn’

from dbo.test

) cc

where bb.number<=cc.maxcn

分行语句二:

/****** script for selecttopnrows command from ssms ******/

select id ,val

from dbo.test

union all

select null,null

from

(select number from master..spt_values where type=’p’ and number >0) bb,

(select count(*) ‘totalcn’,

case when count(*)%5.0 <>0

then 5-count(*)%5.0

else 0 end as ‘maxcn’

from dbo.test

) cc

where bb.number<=cc.maxcn

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐