2014-02-22 70 views
0

我使用這個查詢,但它不能在MySQL中如何從第n行到第n行從mysql db獲取數據?

SELECT TOP 1 * FROM (SELECT TOP 5 * FROM ads ORDER BY id DESC) ads ORDER BY id DESC 
+0

'SELECT * FROM ads ORDER BY id DESC LIMIT 5'或'SELECT * FROM ads ORDER BY id DESC LIMIT startlimit,endlimit' –

+0

從第n行到第n行? –

回答

1

「頂部」在MySQL不起作用工作。您可以通過以下方式來完成這項工作

SELECT * FROM (SELECT * FROM ads ORDER BY id DESC LIMIT 5) ads ORDER BY id DESC LIMIT 5 
2

您可以使用ORDER BY ... LIMIT {[offset,] row_count | row_count OFFSET offset}編輯查詢(可以說你想獲得5個記錄從10日 - 10,11,12,13,14):

SELECT * FROM ads 
ORDER BY id DESC 
LIMIT 10,5 

雖然我假設你不想讓他們通過id排序而是由views或者ORDER BY views DESC將採取類似的地方標準(不要忘了對views數增加索引)。