MySQLでLIMITを使って抽出レコード数を制限する方法【初心者向け】
MySQLで【LIMIT】の構文を使って抽出レコード数を制限する方法を初心者向けに解説した記事です。SELECT文で通常は、全て抽出されます。LIMIT文では、開始位置と取得数を指定した抽出も可能ですので、合わせて紹介します。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
MySQLの初心者向けに、基本的な使い方を解説する記事です。
今回は、LIMITを使った抽出レコード数の制限について解説します。
なお本記事は、MySQLを扱うTechAcademyのPHPオンライン講座の内容をもとにしています。
今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。
田島メンター!最新の5件など、レコードを少しだけ取得することは出来ますか?
LIMIT句を使えば出来るよ!1ページ目とか2ページ目とかに使えるんだ。
1ページに5件ずつとか表示しているページありますね。
そうそう。さっそくLIMITを使ってみよう!
LIMITを使って抽出レコード数を制限
MySQLでSELECT文を使ってレコードを抽出するときは、制限をしないとすべてのデータを取ってきてしまいます。
特定の件数だけ取得したいときは、limitを使うことで取得数を制限することができますので、覚えておきましょう。
次のように、select文に limit と取得数を書きます。
select フィールド名 from テーブル名 limit 取得数;
今回は例として、user というテーブルで実際にやってみます。
最初から2件分のレコードを抽出するにはこのように入力します。
select * from user limit 2;
これで、2件分のレコードを抽出することができました。
取得数の指定だけだと、このように頭から数えた件数が取得されます。どの位置から取得するかといった開始位置も指定したいときは、次のように書くことができます。
select フィールド名 from テーブル名 limit 開始位置,取得数;
例えば、2番目から2件取得したいようなときはこうなります。
select * from user limit 2,2;
「あれ? 3番目から2件取得しているよ?」と思ったかもしれません。
コンピュータの世界では、数を数えるときは1からではなく0から始まるのが基本です。ですので、2番目から2件所得すると、3番目と4番目を指定することになります。開始位置を指定するときには気をつけましょう。
おわりに
このように、limitを使うとレコード数の制限ができます。必要に応じて使ってみてください。
さらにMySQLの基礎を学びたい場合は、MySQLでORDER BYを使って抽出したレコードを並べ替える方法も合わせてご覧ください。
開始位置をずらしていけば、5件ずつとか取得出来そうですね。
そうだね。今はコマンドプロンプト(ターミナル)から実行しているけど、プログラムからも操作できるんだ。
その場合は、URLから開始位置を取得する感じですか?
PHPなら?p=2的な感じになるんだ。2ページ目のことなので、1ページに表示する件数が5件なら、0から始まるので5から始まることになるよね。
MySQLを勉強していて、
・もっと効率的に勉強したい
・誰かに聞きながら学びたい
・自分でWebサービスを作りたい
と思ったことはないでしょうか?
そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、オリジナルWebサービスを開発することが可能です。
独学に限界を感じている場合はご検討ください。