0

如何编辑此代码,以便它选择具有第二低“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

4 回答 4

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

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

也可以看看:

于 2012-08-01T11:34:44.090 回答
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

于 2012-08-01T11:38:09.913 回答
1

您可以在限制子句中指定偏移量:

SELECT * FROM users WHERE name='$name' ORDER BY id ASC LIMIT 1, 1
于 2012-08-01T11:34:53.330 回答
0
SELECT * FROM users WHERE name='$name' ORDER BY id ASC LIMIT 1,1;
于 2012-08-01T11:34:45.847 回答