create table pageing1(
idx int identity(1, 1) constraint pk_pageing1 primary key,
islive int default 1,
data1 varchar(100) null,
indt datetime default getdate()
)
idx int identity(1, 1) constraint pk_pageing1 primary key,
islive int default 1,
data1 varchar(100) null,
indt datetime default getdate()
)
truncate table pageing1
declare @i int
select @i = 1
while @i < 100000 begin
if @i % 5 = 0 or @i % 100 = 0
insert into pageing1(islive, data1) values(0, '우리나라만세'+cast(@i as varchar))
else
insert into pageing1(islive, data1) values(1, '우리나라만세'+cast(@i as varchar))
select @i = @i + 1
end
SELECT * FROM pageing1
-- 쿼리1
SELECT TOP 10 * FROM pageing1
WHERE idx >= (
SELECT MAX(idx) FROM (
SELECT TOP 1 idx FROM pageing1 WHERE islive = 1
) AS t1
) AND islive = 1
-- 쿼리2
SELECT TOP 10 * FROM pageing1
WHERE idx not in(
SELECT TOP 0 idx FROM pageing1 WHERE islive = 1
) and islive = 1
[출처] [쿼리] 게시판 페이징쿼리 자주쓰는거, 괜찮은거|작성자 weespk

