據說這樣分頁效率比較高。
當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 有幾個排序...