PHPMySQLの制限データの選択
MySQLデータベースからのデータ選択を制限する
MySQLには、返すレコードの数を指定するために使用されるLIMIT句が用意されています。
LIMIT句を使用すると、複数ページの結果やSQLを使用したページ付けを簡単にコーディングでき、大きなテーブルで非常に役立ちます。多数のレコードを返すと、パフォーマンスに影響を与える可能性があります。
「Orders」というテーブルから1〜30(両端を含む)のすべてのレコードを選択するとします。SQLクエリは次のようになります。
$sql = "SELECT * FROM Orders LIMIT 30";
上記のSQLクエリを実行すると、最初の30レコードが返されます。
レコード16〜25(両端を含む)を選択する場合はどうなりますか?
Mysqlは、これを処理する方法も提供します。OFFSETを使用することです。
以下のSQLクエリは、「10レコードのみを返し、レコード16(OFFSET 15)から開始する」と言っています。
$sql = "SELECT * FROM Orders LIMIT 10 OFFSET 15";
同じ結果を達成するために、より短い構文を使用することもできます。
$sql = "SELECT * FROM Orders LIMIT 15, 10";
カンマを使用すると、数字が逆になることに注意してください。