ホームページ >データベース >mysql チュートリアル >SQLite LIMIT 句: OFFSET または OFFSET および ROW COUNT?
SQLite で構文的に正しい LIMIT 句は、OFFSET または OFFSET および ROW COUNT のうちどれですか?
SQLite には、クエリ結果を制限およびオフセットするための 2 つの構文が用意されています。
<code>LIMIT <跳过>, <数量></code>
と
<code>LIMIT <数量> OFFSET <跳过></code>
これら 2 つの文法形式の違いは、番号が逆になっているため、混乱を招く可能性があります。
最初の文法形式 <code>LIMIT <跳过>, <数量></code> は次と同等です:
<code>LIMIT <数量> OFFSET <跳过></code>
MySQL および PostgreSQL と構文互換性があります。 MySQL は両方の構文形式をサポートしますが、PostgreSQL は 2 番目の構文のみをサポートします。 SQLite は両方の構文形式をサポートしていますが、混乱を避けるために 2 番目の構文を使用することをお勧めします。
たとえば、次のクエリは最初の 50 行をスキップし、次の 100 行を返します。
<code>SELECT * FROM Animals LIMIT 100 OFFSET 50</code>
最初に ORDER BY
を使用せずに LIMIT
を使用しても、必ずしも期待した結果が得られるわけではないことに注意することが重要です。 SQLite は行を何らかの順序で返しますが、これは行がファイル内の物理的に格納される場所によって決まります。ただし、この順序が意味のあるものであるか、一貫しているかどうかは保証されません。予測可能な順序を取得する唯一の方法は、ORDER BY
を明示的に使用することです。
以上がSQLite LIMIT 句: OFFSET または OFFSET および ROW COUNT?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。