MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLのLIMIT句で範囲を指定して最初の3行だけを表示する方法

MySQLのLIMIT句で範囲を指定して最初の3行を取得する

MySQLでは、LIMIT句に開始位置と取得件数を指定することで、テーブルから特定の範囲の行だけを取り出すことができます。最初の3行だけを表示したい場合は、以下のような構文を使用します。

select *from yourTableName limit yourStartIndex,yourEndIndex;

ここで、最初の引数(yourStartIndex)は取得開始位置のオフセット、2番目の引数(yourEndIndex)は取得する行数を表します。インデックスは0から始まるため、先頭から3行を取得するには「limit 0,3」と指定します。

それでは、実際にサンプルテーブルを作成して動作を確認してみましょう。

1. テーブルの作成

まず、CREATE TABLE文でテーブルを作成します。

mysql> create table demo67
-> (
-> id int,
-> user_name varchar(40),
-> user_country_name varchar(20)
-> );
Query OK, 0 rows affected (0.72 sec)

2. レコードの挿入

次に、INSERTコマンドを使ってテーブルにレコードを挿入します。

mysql> insert into demo67 values(10,'John','US');
Query OK, 1 row affected (0.19 sec)

mysql> insert into demo67 values(1001,'David','AUS');
Query OK, 1 row affected (0.14 sec)

mysql> insert into demo67 values(101,'Mike','UK');
Query OK, 1 row affected (0.09 sec)

mysql> insert into demo67 values(102,'Carol','AUS');
Query OK, 1 row affected (0.11 sec)

mysql> insert into demo67 values(110,'Chris','US');
Query OK, 1 row affected (0.36 sec)

mysql> insert into demo67 values(105,'David','AUS');
Query OK, 1 row affected (0.08 sec)

3. テーブルの内容を確認

SELECT文でテーブルの全レコードを表示してみます。

mysql> select *from demo67;

実行すると、以下のような出力が得られます。

+------+-----------+-------------------+
| id   | user_name | user_country_name |
+------+-----------+-------------------+
| 10   | John      | US                |
| 1001 | David     | AUS               |
| 101  | Mike      | UK                |
| 102  | Carol     | AUS               |
| 110  | Chris     | US                |
| 105  | David     | AUS               |
+------+-----------+-------------------+
6 rows in set (0.00 sec)

合計6件のレコードが登録されていることが確認できます。

4. LIMIT句で最初の3行を表示する

ここで本題です。LIMIT句を使って最初の3行だけを表示するクエリは以下のとおりです。

mysql> select *from demo67 limit 0,3;

このクエリを実行すると、次の出力が得られます。

+------+-----------+-------------------+
| id   | user_name | user_country_name |
+------+-----------+-------------------+
| 10   | John      | US                |
| 1001 | David     | AUS               |
| 101  | Mike      | UK                |
+------+-----------+-------------------+
3 rows in set (0.00 sec)

まとめ

このように、「LIMIT 開始位置, 取得件数」の形式を指定することで、MySQLのテーブルから任意の範囲の行を簡単に取得できます。先頭から3行を表示したい場合は「LIMIT 0,3」のようにオフセットを0にすればOKです。ページネーションなどを実装する際にも非常に便利な構文なので、ぜひ覚えておきましょう。

  1. MySQLのCOALESCE()関数で最初のNULL以外の値を取得する方法

    MySQLのCOALESCE()関数とはMySQLのCOALESCE()関数は、引数として渡された複数のカラムや値の中から、最初に見つかったNULL以外(NOT NULL)の値を返す関数です。この関数を活用することで、NULLが含まれるカラムを効率的に処理し、代替値を表示できます。ここでは、実際にテーブルを作成してデータを挿入し、COALESCE()関数の動作を確認していきましょう。1. テーブルの作成まず、サンプル用のテーブルを作成します。mysql> create table DemoTable1927 ( StudentName varchar(20), S

  2. MySQLのLIMIT句で範囲を指定して最初の3行だけを表示する方法

    MySQLのLIMIT句で範囲を指定して最初の3行を取得するMySQLでは、LIMIT句に開始位置と取得件数を指定することで、テーブルから特定の範囲の行だけを取り出すことができます。最初の3行だけを表示したい場合は、以下のような構文を使用します。select *from yourTableName limit yourStartIndex,yourEndIndex;ここで、最初の引数(yourStartIndex)は取得開始位置のオフセット、2番目の引数(yourEndIndex)は取得する行数を表します。インデックスは0から始まるため、先頭から3行を取得するには「limit 0,3」と指定し