不想要无用的列,关于分页的
with cte as
(select ROW_NUMBER() over (order by id) rownum,* from Idea)
select * from cte
go
--我想用 cte 实现分页
--这个 cte 结果里 rownum 几乎用不上的吧?怎样把它抠出去?
--我希望我的 DataReader 里只有我的表数据,reader[0]即 id - Idea 的第一列。
[解决办法]
如果楼主可以直接以ID列进行分页的话可以直接双TOP解决
- SQL code
select top 10 * from (select top 20 * from Idea order by id asc) a order by id desc
[解决办法]
- SQL code
--动态双TOP写法declare @col varchar(300),@sql varchar(max)select @col=isnull(@col+',','')+name from syscolumns where id=object_id('Idea')set @sql='select top 10 '+@col+' from (select top 20 '+@col+' from Idea order by id asc) a order by id desc'exec(@sql)