想象一下,你有一個1米的記錄表,你想限制搜索結果下來說10,000和不超過。那麼我該如何使用它?那麼,答案是使用限制條款。php分頁和限制條款的使用
例如
select recid from mytable order by recid asc limit 10000
這是要給我最後的10000條記錄進入此表。
到目前爲止沒有分頁。 但限制短語已被使用。
這將問題帶到下一個層次。
如果我想通過此記錄尋呼特定記錄集100一次記錄怎麼辦?由於limit
短語已經是原始查詢的一部分,我如何再次使用它,這次是爲了照顧分頁?
如果該組織。查詢沒有限制條款開始,我會調整它作爲limit 0,100
,然後調整它爲limit 100,100
然後limit 200,100
等等,而分頁需要它的過程。但在這個時候,我不能。
你幾乎認爲你會一個接一個地使用兩個限制短語 - 這是不行的。
limit 10000 limit 0,100
肯定會出錯。
那麼這種特殊情況下的解決方案是什麼?
[編輯]
後,我張貼了這個問題,我意識到,在組織的極限10000。查詢變得毫無意義,一旦分頁程序進入。我有點困惑自己,儘管整個order by recid asc limit 10000
是where子句的一部分。實際上,limit 10000
部分在記錄集內容中沒有任何影響 - 除了將記錄集限制在要求的限制之外。所以,一旦分頁開始,保持10000的限制就沒有意義了。我很抱歉爲此浪費你的時間。 :(
限制爲100並確保偏移量不大於9900 – Tchoupi
最後,您希望在查詢返回的結果集中有多少條記錄? – raina77ow
對所有人:我想我的問題有一個邏輯謬誤。實際上,一旦分頁例程開始執行,組織查詢所達到的10000的限制就變得毫無意義了。記住,我得到了一個「limit 10000」開頭。我會在這個問題上加上這個觀察,以便我清楚地說明。 –