SQLに付いてくる「LIMIT 0, 30」とは

 phpMyAdminでテーブルのデータを一覧表示すると、実行されたSQLの最後に「LIMIT 0 , 30」のようなフレーズが付いてきます。これはSQLのLIMIT句で、どの位置から何件のデータを表示するかを指定することができます。


○LIMIT句の構造
LIMIT句の構造

 phpMyAdminは既定の設定では、1ページに30件表示するようになっているので、1ページ目は0件読み飛ばして30件表示、つまり、「LIMIT 0, 30」というフレーズが付加されます。2ページ目は30件読み飛ばして30件表示するので「LIMIT 30, 30」となります。

○LIMIT句の仕組み
LIMIT句の使用例

 「LIMIT 0, 30」は実際には、読み飛ばしを指定するOFFSET句を省略した書き方です。以下に例を示します。

○0件読み飛ばして30件表示する
SELECT * FROM table1 LIMIT 30 OFFSET 0
→ 「SELECT * FROM table1 LIMIT 0, 30」のこと

 「LIMIT 0, 30」とは順番が逆(表示数,読み飛ばし)になっていることに注意が必要です。つまり、次のSQLはエラーになります。

○エラーになる書き方
SELECT * FROM table1 OFFSET 0 LIMIT 30

読み飛ばしを省略して、次のように表示数のみを指定することもできます。

○30件表示する
SELECT * FROM message LIMIT 30

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク