0

mysql の制限について質問があります。クエリを使用しています

select id,name from tbl where id='2' order by name limit 1;

select id,name from tbl where id='2' order by name limit 1,2;

最初のクエリクエリでは行が表示されますが、2 番目のクエリでは表示されません。「limit 1」の代わりに「limit 1,2」を使用した場合に機能するクエリの書き方。ページネーションを作成するために、ajaxで使用します。

ありがとうございました

4

2 に答える 2

3

の構文LIMIT

LIMIT {[offset,] row_count | row_count OFFSET offset}

(ドキュメントを参照)

のオフセットを追加した1ため、最初の (そして唯一の) ヒットがスキップされます。したがって、返されたレコードは取得されません。

代わりに使用してみてください

LIMIT 0,2

(ただし、(願わくば!) レコードが 1 つあるid='2'ため、使用する意味はあまりありませんLIMIT)

于 2013-01-26T12:10:33.453 に答える
2

id=2 を持っていると、1 つのレコードが得られます。

id=2 の ID がさらにある場合は、LIMIT 1,2 を使用できます

ここに制限の例

      SELECT * FROM `your_table` LIMIT 0, 10 

    //This will display the first 10 results from the database.

      SELECT * FROM `your_table` LIMIT 5, 5 

      //This will show records 6, 7, 8, 9, and 10

そしてあなたの場合

     limit 1   <---- will show the first record in your table
     limit 1,2 <----will show records first and second  in your table

ID が autoincrement の場合、既に一意であるため、ここで制限する必要はありません

于 2013-01-26T12:15:39.483 に答える