目次

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

目次

ポクルー
質問: 検索結果の順番
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
Copyright © 1995–2025 iPentec all rights reserverd.