このコードを編集して、2 番目に低い '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
しかし、それは正しくありませんでした。何か案は?ありがとう。
このコードを編集して、2 番目に低い '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
しかし、それは正しくありませんでした。何か案は?ありがとう。
試す
SELECT *
FROM users
WHERE name = '$name'
ORDER BY id ASC
LIMIT 1, 1
ドキュメント:
定義:制限は、MySQL クエリの結果を指定された範囲内に制限するために使用されます。これを使用して、最初の X 件の結果を表示したり、X ~ Y の結果の範囲を表示したりできます。これは Limit 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 が表示されます。
次のようにオフセットを指定します。
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
後者の場合、最初の数値はオフセットで、2 番目の数値は返される要素の数です。
limit 句でオフセットを指定できます。
SELECT * FROM users WHERE name='$name' ORDER BY id ASC LIMIT 1, 1
SELECT * FROM users WHERE name='$name' ORDER BY id ASC LIMIT 1,1;