table表中,有几百条数据,id为主键,从1开始自增长1 。但是数据中间有断层,比如 1 ,2 ,4, 5,7,9,55,56。。等现在想做一个循环。把这几百条数据取出前10条,然后赋值给1个Datatable(数组也行)然后循环,再取出第10-20条的数据,再赋值给这个Datatable。然后循环,再取出第20-30条的数据,再赋值给这个Datatable。也就是:-----------------------------------------------------------------------------------------点击按钮之后:int i=总记录/10 + 1; //这是一共有几个10条。也就是分页中的一共有几页。
for(int j=1;j<=i;j++) //我想应该是,不确定。也就是循环这么多次。
{
Datatable dt=xxxx;//这里,把第i次取出的10条给赋值给Datatable。
//这里是我需要对dt进行的一些操作。
}大概意思就是这样。谢谢!
for(int j=1;j<=i;j++) //我想应该是,不确定。也就是循环这么多次。
{
Datatable dt=xxxx;//这里,把第i次取出的10条给赋值给Datatable。
//这里是我需要对dt进行的一些操作。
}大概意思就是这样。谢谢!
my sql limit i,i+10
select top 10 * from tb
where id>(select max(id) from (select top (3-1)*10 * from tb order by id) a) order by id
select top 10 * from tb
where id>(select max(id) from (select top (N-1)*10 * from tb order by id) a) order by id
是这样吗?
select * from
(
select * , px = (select count(1) from tb where id < t.id) + 1 from tb t
) m
where px between 10 and 20 --(10到20,如果是20到30,则改为 px between 20 and 30)--sql 2005
select * from
(
select * , px = row_number() over(order by px) from tb
) m
where px between 10 and 20 --(10到20,如果是20到30,则改为 px between 20 and 30)
where id>(select max(id) from (select top (N-1)*10 * from tb order by id) a) order by id
create proc wsp
@pagesize int, --页大小
@pageindex int --第几页
as
declare @sql varchar(1000)
set @sql='select top '+ltrim(@pagesize)+' * from 表名 where id not in(select
top '+ltrim((@pageindex-1)*@pagesize)+' id from 表名 order by id)
order by id'
exec(@sql)
go