SQL ServerのLIMIT句に相当する機能は?MySQLのLIMIT句とOFFSETの使い方を解説
MySQLには、SQL Serverで言うところの「LIMIT句」に相当する機能として、LIMIT句とOFFSET句が標準で用意されています。なお、SQL Serverでは同様の処理を「TOP句」や「OFFSET-FETCH句」で実現しますが、本記事ではMySQL側の書き方を中心に解説します。
LIMIT句の動きを理解するために、まずはサンプルとなるテーブルを作成し、実際にデータを取得してみましょう。テーブルはCREATEコマンドを使って作成します。
テーブルの作成
mysql> CREATE table limitDemo -> ( -> id int, -> primary key(id) -> ); Query OK, 0 rows affected (0.58 sec)
レコードの挿入
次に、INSERT文を使ってテーブルにデータを挿入します。
mysql> INSERT into limitDemo values(1); Query OK, 1 row affected (0.16 sec) mysql> INSERT into limitDemo values(2); Query OK, 1 row affected (0.12 sec) mysql> INSERT into limitDemo values(3); Query OK, 1 row affected (0.11 sec) mysql> INSERT into limitDemo values(4); Query OK, 1 row affected (0.10 sec) mysql> INSERT into limitDemo values(5); Query OK, 1 row affected (0.12 sec) mysql> INSERT into limitDemo values(6); Query OK, 1 row affected (0.13 sec) mysql> INSERT into limitDemo values(7); Query OK, 1 row affected (0.15 sec) mysql> INSERT into limitDemo values(8); Query OK, 1 row affected (0.09 sec) mysql> INSERT into limitDemo values(9); Query OK, 1 row affected (0.14 sec)
登録データの確認
SELECT文ですべてのレコードを表示して、データが正しく登録されているか確認します。
mysql> SELECT * from limitDemo;
実行結果は以下の通りです。
+----+ | id | +----+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | +----+ 9 rows in set (0.00 sec)
LIMIT句とOFFSET句の基本構文
それでは、LIMIT句を使ったクエリを見ていきましょう。基本の構文は以下の通りです。
SELECT column_name1……..N FROM yourTableName LIMIT 取得件数 OFFSET スキップ件数;
LIMITで取得する最大行数を指定し、OFFSETで先頭からスキップする行数を指定します。この組み合わせにより、結果セットの任意の範囲だけを取得できます。
実際にクエリを実行してみる
上記の構文をもとに、「先頭の2行をスキップして5行だけ取得する」クエリを実行します。
mysql> SELECT id from limitDemo limit 5 offset 2;
実行結果は以下の通りです。
+----+ | id | +----+ | 3 | | 4 | | 5 | | 6 | | 7 | +----+ 5 rows in set (0.00 sec)
idが3〜7の5行のみが取得できました。これは、最初の2行(id:1、2)がOFFSETによってスキップされ、その後の5行がLIMITで取得されたためです。
補足:SQL Serverとの対応関係
同じ処理をSQL Serverで行う場合は、「OFFSET 2 ROWS FETCH NEXT 5 ROWS ONLY」というOFFSET-FETCH句を使用します。また、単純に先頭から指定件数だけ取得したい場合は「SELECT TOP 5」が使えます。MySQLでは「LIMIT 5 OFFSET 2」のようにLIMIT句だけで完結できるため、ページネーションなどの実装がシンプルに行えるのが特徴です。
-
MS SQL Serverのインストール手順を画像付きで徹底解説|初心者向けステップガイド
SQL Serverには、主に以下の2種類のインストール方式が用意されています。 スタンドアロン型(単体サーバーへのインストール) クラスターベース型(フェイルオーバークラスター環境へのインストール) インストール前に確認しておくべきこと インストール作業を始める前に、まず以下の項目を必ず確認しましょう。 サーバーへのリモートアクセスプロトコル(RDP:リモートデスクトッププロトコル)が利用可能かどうか OSのビット数(32bit/64bit)、IPアドレス、およびサーバーのドメイン情報 setup.exeを実行するアカウントが管理者(Administrators)グループに属している
-
SQLServer2019のインストール手順
9月24日、MicrosoftはSQL Server 2019 Community Technical Preview(CTP)2.0のリリースを発表しました。データベースの専門家が最新のテクノロジーについていくのに非常に適しています。したがって、本日の記事ではSQL Server 2019について説明し、MicrosoftからSQL Server 2019CTP2.0をインストールする方法を説明します。この記事には、WindowsServer2016を実行している仮想マシンでのSQLServer2019CTP2.0を使用した3つの初期インストールとテストの手順が含まれています。 SQL S