SQLのselect文のorder byで結果の並び順を指定するサンプルです。
目次
結果の並び順 | 昇順で並べる |
order byの指定を数値で行う | |
降順で並べる |
昇順で並べる
select * from テーブル名 (where 条件) order by 項目名,項目名・・・; |
select文の最後にorder byと並べたい項目を指定すると、結果は指定した項目の昇順で並びます。
以下の成績テーブルがあるとします。
SQL
上記テーブルからデータを取得するSQLにorder byを指定します。
select * from 成績
order by 国語
2行目は、order byを指定しています。
項目「国語」の値を昇順で並び替えます。
結果は、以下のとおりです。
国語の値が昇順で表示されました。
並び替えの項目が2つの場合
select * from 成績
order by 国語,数学;
項目の国語と数学の値を昇順にして並び替えます。
結果は、以下のとおりです。
国語の値が昇順になり、次に数学の値が昇順になります。
order byの指定を数値で行う
order byの指定は、項目名ではなく数値で行うことも可能です。
上記のテーブルで列の国語の昇順にする場合は以下のようにします。
select * from 成績
order by 2;
2行目の2は、テーブルの2つめの項目の「国語」を指します。
降順で並べる
select * from テーブル名 (where 条件) order by 項目名 desc,(項目名 desc)・・・ ; |
order byの項目にdescを使用すると指定した項目の降順で並びます。
降順にしたい項目が他にもある場合、その項目にもdescを追加します。
以下の成績テーブルがあるとします。
SQL
上記テーブルからデータを取得するSQLにorder byとdescを指定します。
select * from 成績
order by 国語 desc;
2行目は、order byとdescを指定しています。
項目「国語」を降順で並び替えます。
結果は、以下のとおりです。
国語の値が降順で表示されました。
並び替えの項目が2つの場合
select * from 成績
order by 国語 desc,数学 desc;
項目の国語と数学の値を降順にして並び替えます。
結果は、以下のとおりです。
国語の値が降順になり、次に数学の値が降順になります。
関連の記事