MySQL における LIMIT について紹介します!
一度簡単については触れているので実際の使い方について説明します。
LIMIT は「表示する件数を制限する」ための関数です。大量のデータがあるとき、上位の数件だけ取得したいときに便利です。
元データ(products)
| id | name | category | price | 
|---|---|---|---|
| 1 | りんご | 食品 | 120 | 
| 2 | バナナ | 食品 | 100 | 
| 3 | シャツ | 衣類 | 1500 | 
| 4 | ズボン | 衣類 | 3000 | 
| 5 | 洗濯機 | 家電 | 25000 | 
| 6 | テレビ | 家電 | 40000 | 
| 7 | 電子レンジ | 家電 | 15000 | 
【使用例】
ここから、LIMIT を使った3つの例を紹介します!
1.最初の3件取得したい
SELECT * 
FROM products 
LIMIT 3;
実行結果
| id | name | category | price | 
|---|---|---|---|
| 1 | りんご | 食品 | 120 | 
| 2 | バナナ | 食品 | 100 | 
| 3 | シャツ | 衣類 | 1500 | 
【解説】
特に指定をしていない場合は上からの表示順でそのまま反映されます。
2.categoryが家電の物を上から3件取得したい
SELECT * 
FROM products 
WHERE category = '家電'
LIMIT 3 ;
実行結果
| id | name | category | price | 
|---|---|---|---|
| 5 | 洗濯機 | 家電 | 25000 | 
| 6 | テレビ | 家電 | 40000 | 
| 7 | 電子レンジ | 家電 | 15000 | 
【解説】
WHEREで条件に合うもののみを選択して指定の件数文を表示できます。
実際に抽出するときは全データより条件を付けることが多いですね。
3.価格が高い順に並べて、上位2件を取得したい
SELECT * 
FROM products 
ORDER BY price DESC 
LIMIT 2;
実行結果
| id | name | category | price | 
|---|---|---|---|
| 6 | テレビ | 家電 | 40000 | 
| 5 | 洗濯機 | 家電 | 25000 | 
【解説】
<ORDER BY price DESC>という一文があります
ORDER BY:並び替えする関数です!この関数については次回書いていきます。
【まとめ】
LIMIT は、大量のデータの中から一部を表示したいときや、ページごとにデータを切り替えて表示したいときに便利です。
ページネーションやランキング、最新データの取得などにもよく使われます。
  
  
  
  
コメント