当前位置: 代码迷 >> Sql Server >> MSSQL分页有关问题
  详细解决方案

MSSQL分页有关问题

热度:65   发布时间:2016-04-24 10:41:45.0
MSSQL分页问题
数据库中表中有很多数据,为什么我这样分页查询出来只要一条记录
declare @page_size int;
declare @page_num int;
set @page_size='1';
set @page_num='40'
select * from(
select user_names,
user_phone,prize,xianjin,got_xianjin,got_cellmoney,Province,City,user_area,favoriteMarket,favoriteClothe
 ,brands_F,bag_brands,favoriteR,bz1,(row_number() over (order by  bz1  desc)-1)/@page_size as rownum  from Question
 where prize in('xianjin','cellmoney') 
 ) t
 where rownum = @page_num - 1
  order by bz1 desc

------解决方案--------------------
row_number就是一个序列 你获取的是只是一条数据,应该用ntile吧
------解决方案--------------------

declare @page_size int;
declare @page_num int;
set @page_size='15';
set @page_num='40'
select * from(
select user_names,
user_phone,prize,xianjin,got_xianjin,got_cellmoney,Province,City,user_area,favoriteMarket,favoriteClothe
 ,brands_F,bag_brands,favoriteR,bz1,(row_number() over (order by  bz1  desc)-1)/@page_size as rownum  from Question
 where prize in('xianjin','cellmoney') 
 ) t
 where rownum = @page_num - 1
  order by bz1 desc

------解决方案--------------------
declare @page_size int;
declare @page_num int;
set @page_size='1';
set @page_num='40'
select * from(
select user_names,
user_phone,prize,xianjin,got_xianjin,got_cellmoney,Province,City,user_area,favoriteMarket,favoriteClothe
 ,brands_F,bag_brands,favoriteR,bz1,(row_number() over (order by  bz1  desc)-1)/@page_num as rownum  from Question
 where prize in('xianjin','cellmoney') 
 ) t
 where rownum = @page_size  - 1
  order by bz1 desc
------解决方案--------------------
按照我上面的就可以了,是条件写错了位置,换个位置就行了
  相关解决方案