2012-08-15 843 views
3

http://666kb.com/i/c6e4rv80gz9yrn9h5.png「LIMIT 5,10」在MySQL中返回9行?

看看我的圖片,我只限於查詢5條目,但它返回9行?什麼問題,我無法得到它。

+1

你不要求限制5 - 你要求限制5,10。另外,你不會得到9行 - 你得到10行。 – Dason 2012-08-15 02:00:53

+0

我已經寫過5,10。 – Slavez 2012-08-15 02:01:45

+3

是的,但在問題的主體中,你說只要求5個條目。我指出,這不是你在限制聲明中寫的,它應該是一個紅旗,你實際上得到了10行,並且你的限制聲明中有10個。看到這個之後,你可能會意識到,你可能沒有對限制陳述的運作方式做出正確的假設。 – Dason 2012-08-15 02:03:42

回答

19

與MySQL的LIMIT參數offset, row_count,但第一參數是可選的 - 瘋狂的,但真實的!

所以當你有兩個參數時,第一個是起始行,第二個是行數。

你問了LIMIT 5, 10這意味着10行,從第5行開始(不是第5到10行)。


你不是第一個,你不會是最後一個被這個混淆的人。

+0

啊謝謝,新的開始...非常感謝。 – Slavez 2012-08-15 02:05:16

0

在MySQL限制函數的語法是:

SELECT column_name(s) 
FROM table_name 
LIMIT Rows start , Quantity of Rows for display; 

例子:

SELECT * 
FROM customer 
LIMIT 2 , 10; 
0

我建議去這個鏈接LIMIT in mysql,之後我經歷了上述評論瀏覽,我必須指出,那limit 5, 10返回10行並從第6行開始。

LIMIT
limit 10 offset 5limit 5, 10,他們都從行返回行。
我強烈建議轉到上面的鏈接。

希望它有幫助!