【ORDER BYについて】

MySQLORDER BYは、取り出したデータを並び替えるために使います!
基本的には昇順か降順の2通りなので簡単につかこなせると思います。

【使い方】

SELECT 列名 
FROM テーブル名 
ORDER BY 列名 [ASK|DESC];

ASC:(昇順):小さい順
DESC:(降順):大きい順
指定しなければデフォルトでASCになります。

データ(products)

ID 商品名 カテゴリ 価格
1 りんご 食品 120
2 バナナ 食品 100
3 シャツ 衣類 1500
4 ズボン 衣類 3000
5 洗濯機 家電 25000
6 テレビ 家電 40000
7 電子レンジ 家電 15000

早速ですが実際に使ってみましょう!!
※1.2については解説も省きます

1.価格の昇順で並べる

SELECT * 
FROM products 
ORDER BY `価格` ASC;
ID 商品名 カテゴリ 価格
2 バナナ 食品 100
1 りんご 食品 120
3 シャツ 衣類 1500
4 ズボン 衣類 3000
7 電子レンジ 家電 15000
5 洗濯機 家電 25000
6 テレビ 家電 40000

2.商品名の降順で並べる

SELECT * 
FROM products 
ORDER BY `商品名` DESC;
ID 商品名 カテゴリ 価格
7 電子レンジ 家電 15000
6 テレビ 家電 40000
5 洗濯機 家電 25000
4 ズボン 衣類 3000
3 シャツ 衣類 1500
2 バナナ 食品 100
1 りんご 食品 120

3.カテゴリごとに昇順、カテゴリ内で価格の降順

SELECT * 
FROM products 
ORDER BY `カテゴリ` ASC, `価格` DESC;
ID 商品名 カテゴリ 価格
4 ズボン 衣類 3000
3 シャツ 衣類 1500
6 テレビ 家電 40000
5 洗濯機 家電 25000
7 電子レンジ 家電 15000
1 りんご 食品 120
2 バナナ 食品 100

【解説】
ACS|DESCが二つになると
①先に書いた要素
②後に書いた要素
とした時に①を優先的に並び替えをして、
①の要素が被っている要素の時その中で②の並び替えをします。

ですので、

①であるカテゴリが全体として綺麗に並び、
②である価格がカテゴリごとの中で綺麗に並び替えされています。

【まとめ】
ORDER BYは、結果を見やすく並べるための非常に重要なSQL文です。特に金額の大きい順、小さい順、名前順など、ユーザーにとってわかりやすい表示が可能になります。
使い方も簡単なのですぐ取り入れて表示データを見やすくしましょう!!

 

コメント

タイトルとURLをコピーしました