2013-11-22 25 views
0

林作出查詢到的第一個查詢我做限制結果到4數據庫:mysql的GET第四,第五,第六,第七結果

$result = mysql_query("SELECT * FROM members limit 4"); 

這得到了我第4項中數據庫和我的下一個查詢我想要得到下四種我應該採取什麼樣的方法?

$result = mysql_query("SELECT * FROM members limit 4 count= 5"); 
+0

只是要清楚。 ***接下來的四個查詢***不是第4,第5,第6和第7個結果。它是指標4,5,6和7或第5,6,7和8個結果。 SQL是基於零的。 – War10ck

回答

3

LIMIT可以採取兩個參數:

LIMIT {[偏移,] ROW_COUNT | ROW_COUNT偏置OFFSET}]

在你的情況,你會怎麼做:

SELECT * FROM members limit 4,4; 

但要做到這一點始終如一,你真的應該使用某種形式的ORDER BY,否則你不放心得到一致的結果。

sqlfiddle demo

+0

您的SQL查詢返回第5,6,7和8個值。 OP要求第4,5,6和7個值。它應該是'限制3,4;' – War10ck

+0

他說:「這讓我在數據庫中的前4條和我的下一個查詢我想要接下來的四個我應該採取什麼樣的方法?」。不要認爲3,4會這樣做。 –

+0

啊,是的,我看到OP在那裏注意到了。很公平。 +1抱歉,我正在通過標題。看來OP是有點困惑... – War10ck

3

你接近:

$result = mysql_query("SELECT * FROM members limit 3,4"); 

這告訴MySQL開始在第四行返回行(記住,MySQL的從零開始計數所以0是第一行和3是第四行)並返回總共四行。

+0

我不認爲這是正確的。如果他做了限制4,這與做限制0,4是一樣的。這意味着當他想要獲得下一個4時,你會做到4.4。 –

+0

感謝這對我很好! – user2055697

2

SELECT * FROM your_table LIMIT 3,4;