SQL分頁筆記

2022-03-19 19:56:56 字數 1459 閱讀 2513

據說這樣分頁效率比較高。

當pageindex為1時:

select toppagesizevideo.* from video

wheretitle like '%精華%'

當pageindex大於1時:

select toppagesizevideo.* from video

left join

(select top(startindex - 1)videoid from video

wheretitle like '%精華%'

) temptable  on video.videoid =temptable.videoid

where temptable.videoid is null 

andtitle like '%精華%'

當pageindex為1時:

select toppagesizevideo.* from video 

inner join videotype on video.videoid=videotype.videoid

wherevideotype.type= '編輯推介'

當pageindex大於1時:

select toppagesizevideo.* from video 

inner join videotype on video.videoid=videotype.videoid

left join

(select top(startindex - 1)video.videoid from video

inner join videotype on video.videoid=videotype.videoid

wherevideotype.type = '編輯推介'

) temptable  on video.videoid=temptable.videoid

where temptable.videoid is null 

andvideotype.type = '編輯推介'

說明:如果沒有寫入order by排序語句,那麼結果集的預設排序規律是以所選擇資料表中索引排序.

startindex的值是某頁的第一條序號,如pagesize是2,pageindex是3,那麼startindex為5.

temptable中是某頁之前的所有結果,用於left join原表,加上temptable.videoid is null後會去掉本頁之前的結果,在剩下的結果集中選擇top pagesize即是所需結果。

手寫分頁sql 分頁查詢SQL語句

表結構 drop table if exists zhoufoxcn userlist create table zhoufoxcn userlist userid int 10 unsigned not null auto increment,username varchar 45 not nul...

sql 分頁 後台分頁技術

select stunumber,stuname,case when stumath 90then 優 when stumath 80then 良 when stumath 70then 中 else 差 end as 數學成績 from tbstudent 第一種用法 case語句就是構造乙個新的...

手寫分頁sql 請說說sql高效分頁??

網上已經有很多演算法了,我一直用顛顛倒倒法,是拼接sql的,相容多種資料庫,不喜歡用儲存過程。公式 select 顯示的字段 from 表名 檢視名 where 主鍵字段 in select top pagesize 主鍵字段 from select top 主鍵字段 排序字段 from 有幾個排序...