目次

レコードをソートする、検索結果のレコードの順番を並び替える

目次

ポクルー
質問: 検索結果の順番
SELECT文で検索したレコードの順番を価格順やIDの順で並び替えたいです。SQLでできるでしょうか?

概要

SQLでのレコードのソートにはORDER BY句を利用します。

書式

ORDER BY (フィールド1),(フィールド2), ...

フィールド1の値が同じレコードの場合は、フィールド2の値を比較して並び替えが実行されます。

逆順にソートする場合は DESC をフィールド名の後ろに追加します。

ORDER BY (フィールド1) DESC, (フィールド2) DESC, ...

例

以下のテーブルがあります。

Products テーブル
idnamestockplacecategoryprice
1ぺんぎんクッキー11180
2らくだキャラメル3295
3しろくまアイス23230
4かるがもサブレ11160
5あるぱかカステラ22420
6あひるタルト41260


categoryでソートして、同じカテゴリの場合は、priceの高い順にソートします。
次のSQL文を実行します。

SELECT * FROM Products ORDER BY category, price DESC


以下の結果が表示されます。
categroyの値で昇順にソートされ、同じcategoryのレコードは priceの降順でソートされます。

idnamestockplacecategoryprice
6あひるタルト41260
1ぺんぎんクッキー11180
4かるがもサブレ11160
5あるぱかカステラ22420
2らくだキャラメル3295
3しろくまアイス23230


レコードをソートできました。

AuthorPortraitAlt
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2011-07-06