如何在MySQL表中选择特定行?因此,我可以执行类似select
的操作,而不是... ORDER BY date
SELECT * FROM Posts FROM(5) TO(10) ORDER BY date DESC
,我会按降序选择帖子5到10吗?
答案 0 :(得分:11)
你的问题有点含糊不清。有两种可能性:
您希望从数据库中检索仅部分结果,例如从第5个到第10个:
SELECT * FROM `posts` ORDER BY `date` DESC LIMIT 6 OFFSET 4
将跳过4个第一个结果并给出接下来的6个结果(从原始集合开始,从原始集合的第5个结尾开始)。
您希望5
(含)与10
(包括)之间的结果具有特定ID :
SELECT * FROM `posts` WHERE `id` BETWEEN 5 AND 10 ORDER BY `date` DESC
或(如果ID列表不是整个范围,这可能很有用):
SELECT * FROM `posts` WHERE `id` IN (5,6,7,8,9,10) ORDER BY `date` DESC
但最后一个例子只是为了向您展示选择“特定”行的不同方式。
答案 1 :(得分:3)
使用限制:
SELECT * FROM Posts ORDER BY date DESC LIMIT 5, 5
答案 2 :(得分:1)
替代语法在我看来更具可读性:
SELECT * FROM Posts ORDER BY date DESC LIMIT 5 OFFSET 5
第一个数字表示返回的结果数,第二个数字定义从哪里开始的偏移量。
如果你使用LIMIT 5,5
,那就相反了。
答案 3 :(得分:0)
您可以在mysql中使用limit
运算符来执行此操作。例如:SELECT * FROM posts LIMIT 5 , 5
;
答案 4 :(得分:-1)
您可以使用限制:
SELECT * FROM tabel ORDER BY date DESC LIMIT 5,5
(基于降序日期的第5至第10记录)。
答案 5 :(得分:-2)
SELECT * FROM Posts ORDER BY date DESC limit 5, 10