MySQLでLIMITを使って抽出レコード数を制限する方法【初心者向け】

MySQLで【LIMIT】の構文を使って抽出レコード数を制限する方法を初心者向けに解説した記事です。SELECT文で通常は、全て抽出されます。LIMIT文では、開始位置と取得数を指定した抽出も可能ですので、合わせて紹介します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

MySQLの初心者向けに、基本的な使い方を解説する記事です。

今回は、LIMITを使った抽出レコード数の制限について解説します。

なお本記事は、MySQLを扱うTechAcademyのPHPオンライン講座の内容をもとにしています。

 

今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。

 

大石ゆかり

田島メンター!最新の5件など、レコードを少しだけ取得することは出来ますか?

田島悠介

LIMIT句を使えば出来るよ!1ページ目とか2ページ目とかに使えるんだ。

大石ゆかり

1ページに5件ずつとか表示しているページありますね。

田島悠介

そうそう。さっそくLIMITを使ってみよう!

 

LIMITを使って抽出レコード数を制限

MySQLでSELECT文を使ってレコードを抽出するときは、制限をしないとすべてのデータを取ってきてしまいます。

特定の件数だけ取得したいときは、limitを使うことで取得数を制限することができますので、覚えておきましょう。

 

次のように、select文に limit と取得数を書きます。

 

 select フィールド名 from テーブル名 limit 取得数;

 

今回は例として、user というテーブルで実際にやってみます。

スクリーンショット 2015-01-14 21.03.09

 

最初から2件分のレコードを抽出するにはこのように入力します。

select * from user limit 2;

 

これで、2件分のレコードを抽出することができました。

スクリーンショット 2015-01-14 21.06.45

 

取得数の指定だけだと、このように頭から数えた件数が取得されます。どの位置から取得するかといった開始位置も指定したいときは、次のように書くことができます。

 

 select フィールド名 from テーブル名 limit 開始位置,取得数;

 

例えば、2番目から2件取得したいようなときはこうなります。

select * from user limit 2,2;

スクリーンショット 2015-01-14 21.11.55

 

「あれ? 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人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。