SQL > SQL コマンド > Order By

今まで、 SELECT 及び WHERE のコマンドを二つ使って、テーブルからデータを選ぶことを勉強してきたが、それらのデータをどのように並べるのか、まだ触れていません。そこがとても重要なところ。実は、選ばれたデータをシステム的に表示する場合がが多いからです。昇順 (ascending) 又は降順(descending)の並び方があります。ここで、 ORDER BY コマンドを使えばいいです。

ORDER BY のプログラミングは次のようになります。

SELECT "フィールド名"
FROM "テーブル名"
[WHERE "条件"]
ORDER BY "フィールド名" [ASC, DESC];

[] は WHERE 句が必ずしも必要とは限りないことを意味します。しかし、 WHERE 区がある場合、 ORDER BY 句の前に来ます。 ASC は結果が昇順に並び、 DESC はそれが降順に並ぶことを表します。その両者とも書かれていない場合、 ASC を使うことになります。

異なるフィールドを幾つか作って並べることができます。ここで、 ORDER BY 式のプログラミングは次のようになります(フィールドが二つある場合)。

ORDER BY "フィールド一" [ASC, DESC], "フィールド二" [ASC, DESC]

仮に、この二つのフィールドの昇順並びにする場合、この式からできた結果が "フィールド一" の昇順に並びます。"フィールド一" の幾つかのデータ值が同じ場合は、その幾つかのデータが"フィールド二" により降順に並びます。

例えば、Sales フィールドの降順により、 Store_Information テーブルのデータを表す場合、

Store_Information テーブル
Store_Name Sales Txn_Date
Los Angeles 1500 Jan-05-1999
San Diego 250 Jan-07-1999
San Francisco 300 Jan-08-1999
Boston 700 Jan-08-1999

を入力すると、

SELECT Store_Name, Sales, Txn_Date
FROM Store_Information
ORDER BY Sales DESC;

の結果ができます、

Store_Name Sales Txn_Date
Los Angeles 1500 Jan-05-1999
Boston 700 Jan-08-1999
San Francisco 300 Jan-08-1999
San Diego 250 Jan-07-1999

上述の例は、フィールド名で並び順の拠りどころを指定することができます。フィールド名のほかに、フィールドの並び順 (SQL 文の並び順)を使ってもよろしい。 SELECT の後に来る第一フィールドは 1、第二フィールドは2、そのように類推します。上述の例の中で、次の SQL 文を使う場合でも、全く同じ結果が出ます。

SELECT Store_Name, Sales, Txn_Date
FROM Store_Information
ORDER BY 2 DESC;

SQL 関数 >>



Copyright © 2017   1keydata.com   All Rights Reserved