我需要的是類似這樣的兩個查詢:查詢第10行,然後剩餘的行
SELECT * FROM anchors WHERE site_url = '$site_current'
- 第一個將查詢前10行
- 其他人會查詢所有其餘行,從第11行開始
我該怎麼做?
我需要的是類似這樣的兩個查詢:查詢第10行,然後剩餘的行
SELECT * FROM anchors WHERE site_url = '$site_current'
我該怎麼做?
查詢1:
SELECT * FROM anchors WHERE site_url = '$site_current' LIMIT 10;
問題2:
SELECT * FROM anchors WHERE site_url = '$site_current' LIMIT 10, 99999999999;
或(不同的語法但具有相同的效果):
SELECT * FROM anchors WHERE site_url = '$site_current' LIMIT 99999999999 OFFSET 10;
難以置信,與MySQL你不能t指定偏移量沒有 a li因此,無論使用哪種語法版本,您都必須使用這種延遲的語法來獲得「所有剩餘的行」。
@JamWaffles:這種if查詢正好是用於支持大型結果集的「分頁」的類型。這就是我對這個用例的猜測。 – 2012-01-06 00:40:25
@Paul這是有道理的,但如果你是分頁,那麼你一次只需要(說)10個結果,而不是「10,然後是其餘的」,當然? – Bojangles 2012-01-06 00:42:20
也許,儘管我已經編寫了優化第一頁的分頁系統,因爲這是最常見的情況,但如果他們使用頁面,我只需加載數組的其餘部分並緩存它,因爲它們可能會分頁更多。另一方面,這可能只是一個措辭問題,@webmasters只是沒有說明它被分頁。 – 2012-01-06 00:49:11