首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

鉴别一条分页语句解决方案

2012-01-22 
鉴别一条分页语句SQL codeselect top 4 * from userinfo where userid not in (select top 4 userid from

鉴别一条分页语句

SQL code
select top 4 * from userinfo where userid not in (select top 4 userid from userinfo order by userid desc)order by userid desc 
 
  每页大小为4,第二页的信息
 应该显示 id为 5,6,7,8的 可怎么就没要我的效果?

[解决办法]
SQL code
--用一句SQL取出第 m 条到第 n 条记录的方法      1 --从Table 表中取出第 m 条到第 n 条的记录:(Not In 版本)select * from Itemselect top n-m+1 * from TABLE where (id NOT IN (select top m-1 id FROM TABLE ))2--从TABLE表中取出第m到n条记录 (Exists版本)SELECT TOP n-m+1 * FROM TABLE AS a WHERE Not Exists (Select * From (Select Top m-1 * From TABLE order by id) b Where b.id=a.id ) Order by id3--m为上标,n为下标,例如取出第8到12条记录,m=8,n=12,Table为表名这是最好用的一条!Select Top n-m+1 * From Table Where Id>(Select Max(Id) From (Select Top m-1 Id From Table Order By Id Asc) Temp) Order By Id Asc
[解决办法]
探讨
SQL codeselecttop4*from userinfowhere useridnotin (selecttop4 useridfrom userinfoorderby useriddesc)orderby useriddesc
          每页大小为4,第二页的信息
应该显示 id为 5,6,7,8的 可怎么就没要我的效果?

[解决办法]
SQL code
select top 4 * from userinfo where userid in (select top 8 userid from userinfo order by userid desc)order by userid ASC 

热点排行