如何编辑此代码,以便选择具有第二低“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
但那不对。有任何想法吗?感谢。
答案 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;