2014-02-22 71 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数增加索引)。