选择变量的第二低'id'值

时间:2012-08-01 11:31:38

标签: mysql

如何编辑此代码,以便选择具有第二低“id”值的$ name:

SELECT * FROM users WHERE name='$name' ORDER BY id ASC LIMIT 1

我认为它可能是这样的:

SELECT * FROM users WHERE name='$name' ORDER BY id ASC + 1 LIMIT 1

但那不对。有任何想法吗?感谢。

4 个答案:

答案 0 :(得分:2)

指定一个偏移量:

SELECT * FROM users WHERE name='$name' ORDER BY id ASC LIMIT 1 OFFSET 1

或者像这样:

SELECT * FROM users WHERE name='$name' ORDER BY id ASC LIMIT 1, 1

在后一种情况下,第一个数字是偏移量,第二个数字是返回的elemenet数量。

另见:

答案 1 :(得分:2)

  SELECT * 
    FROM users 
   WHERE name = '$name' 
ORDER BY id ASC 
   LIMIT 1, 1

文档:

  

定义:限制用于将MySQL查询结果限制为那些   落在指定范围内。您可以使用它来显示第一个X.   结果数量,或显示X - Y结果的范围。它是   表达为限制X,Y并包含在查询的末尾。 X是   起点(记住第一个记录是0),Y是持续时间   (要显示的记录数)。

示例:

SELECT * FROM `your_table` LIMIT 0, 10 

这将显示数据库中的前10个结果。

SELECT * FROM `your_table` LIMIT 5, 5 

这将显示记录6,7,8,9和10

答案 2 :(得分:1)

您可以在限制条款中指定偏移量:

SELECT * FROM users WHERE name='$name' ORDER BY id ASC LIMIT 1, 1

答案 3 :(得分:0)

SELECT * FROM users WHERE name='$name' ORDER BY id ASC LIMIT 1,1;