选择特定行MySQL

时间:2011-06-13 17:24:13

标签: mysql

如何在MySQL表中选择特定行?因此,我可以执行类似select的操作,而不是... ORDER BY date SELECT * FROM Posts FROM(5) TO(10) ORDER BY date DESC,我会按降序选择帖子5到10吗?

6 个答案:

答案 0 :(得分:11)

你的问题有点含糊不清。有两种可能性:

  1. 您希望从数据库中检索仅部分结果,例如从第5个到第10个:

    SELECT * FROM `posts` ORDER BY `date` DESC LIMIT 6 OFFSET 4
    

    将跳过4个第一个结果并给出接下来的6个结果(从原始集合开始,从原始集合的第5个结尾开始)。

  2. 您希望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

http://php.about.com/od/mysqlcommands/g/Limit_sql.htm

答案 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