问题描述
|
如何选择MySQL表中的特定行?因此,除了do2ѭ之外,我还可以做ѭ2instead一样的事情,我将按降序选择帖子5到10?
解决方法
您的问题有点模棱两可。有两种可能性:
您只希望从数据库中检索部分结果,例如从第5个到第10个:
SELECT * FROM `posts` ORDER BY `date` DESC LIMIT 6 OFFSET 4
它将跳过前4个结果,并为您提供下6个结果(从原始集合开始以第5位开始,从原始集合开始以10位结束)。
您想要特定ID在5
(含)和10
(含)之间的结果:
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
但是最后一个示例只是向您展示选择“特定”行的不同方式。
, 使用限制:
SELECT * FROM Posts ORDER BY date DESC LIMIT 5,5
http://php.about.com/od/mysqlcommands/g/Limit_sql.htm
, 我认为更易读的替代语法:
SELECT * FROM Posts ORDER BY date DESC LIMIT 5 OFFSET 5
第一个数字表示返回的结果数,第二个数字定义从开始的偏移量。
如果您使用ѭ10,则相反。
, 您可以在mysql中使用limit
运算符来执行此操作。例如:SELECT * FROM posts LIMIT 5,5
;
, 您可以使用限制:
SELECT * FROM tabel ORDER BY date DESC LIMIT 5,5
(基于降序排列的第5至10条记录)。
, SELECT * FROM Posts ORDER BY date DESC limit 5,10