取得するデータの行数の上限を設定する(LIMIT句)

広告
eyecatch

LIMIT 句を設定すると SELECT 文を実行した時に取得するデータの行数の上限を設定することができます。ここでは LIMIT 句を使って取得するデータの行数の上限を設定する方法について解説します。

取得するデータの行数の上限を設定する

LIMIT 句を使用すると SELECT 文でデータを取得する時に、取得するデータの行数の上限を設定することができます。使い方は次の通りです。

SELECT col_name1 [, col_name2 ...] FROM table_name
  LIMIT [offset,] row_count 

LIMIT 句では 1 つまたは 2 つの数値を指定します。 row_count には取得するデータの最大行数を設定します。 offset は省略可能な値ですが、何番目からのデータを取得するのかを設定します。オフセットは省略した場合は 0 となり、オフセットが n だった場合は n+1 番目のデータから取得します。

使い方は次のとおりです。

[例] 最大で 5 つのデータを取得する
SELECT * FROM user LIMIT 5;

[例] 3 番目のデータから最大で 5 つのデータを取得する
SELECT * FROM user LIMIT 2, 5;

-- --

それでは実際に試してみます。次のようなテーブルを作成しました。

create table user (name varchar(10), address varchar(10), old int);

取得するデータの行数の上限を設定する(1)

テーブルには次のようなデータを追加しています。

insert into user values ('Yamada', 'Tokyo', 25);
insert into user values ('Suzuki', 'Osaka', 19);
insert into user values ('Kudou', 'Nagoya', 34);
insert into user values ('Shima', 'Tokyo', 17);
insert into user values ('Nishi', 'Chiba', 28);
insert into user values ('Harada', 'Osaka', 35);
insert into user values ('Yasuda', 'Fukuoka', 16);
insert into user values ('Sugisaki', 'Tokyo', 41);

取得するデータの行数の上限を設定する(2)

それでは old カラムの値を基準にして昇順に並べ替えてから、データを 5 行分取得してみます。

select * from user order by old limit 5;

取得するデータの行数の上限を設定する(3)

同じように old カラムの値を基準にして昇順に並べ替えてから、 4 番目のデータからデータを 5 行分取得してみます。

select * from user order by old limit 3,5;

取得するデータの行数の上限を設定する(4)

指定した位置から指定した最大行数分だけデータを取得することができました。

-- --

LIMIT 句を使って取得するデータの行数の上限を設定する方法について解説しました。

MySQLの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。