想用sql做簡單的分頁查詢,但是用rownum的時候,會出現問題。
select * from (
select t.*,rownum from (
select * from tablename where condition order by columnname) t )
where rownum>(pagecount-1)*5 and rownum<=(pagecount)*5
(表名,condition篩選條件,columnname排序的列名,pagecount頁數)
然後看了下帖的解釋才明了。
主要是因為rownum是偽列,需要從1開始,所以做了修改
select * from (
select t.* ,rownum as rn from (
select * from tablename where condition order by columnname) t )
where rn between (pagecount-1)*5 and (pagecount*5)
SQL分頁查詢
分頁sql查詢在程式設計的應用很多,主要有儲存過程分頁和sql分頁兩種,我比較喜歡用sql分頁,主要是很方便。為了提高查詢效率,應在排序欄位上加索引。sql分頁查詢的原理很簡單,比如你要查100條資料中的30 40條,你先查詢出前40條,再把這30條倒序,再查出這倒序後的前十條,最後把這十條倒序就是...
sql分頁查詢
declare id int declare moverecords int declare currentpage int declare pagesize int set currentpage 300 set pagesize 100 currentpage和 pagesize是傳入引數 se...
SQL分頁查詢
關於sql語句分頁,網上也有很多啦,我貼一部分過來,並且總結自己已知的分頁到下面,方便日後查閱。方法1 適用於 sql server 2000 2005 1 select top 頁大小 2from table1 3where id not in4 5select top 頁大小 頁數 1 id f...