INSIGHT

情報・インサイト

ORDER BY時に特定のレコードを先頭にしてソートする方法

2018.11.27

データベースから値を取得する際、昇順・降順の指定をして取得しますが、
特定のレコードだけ先頭、または最後に並べたい事が多々あります。

その場合「ORDER BY カラム名 = 値 ASC」を指定することで、
任意のレコードを先頭に並べることが可能です。

サンプル

このような会員(member)テーブルあるとします

id name
1 川田
2 三沢
3 藤波
4 平田

・idの昇順(1→4)に並べると

SELECT * FROM member ORDER BY id ASC

id name
1 川田
2 三沢
3 藤波
4 平田

・idの降順(4→1)に並べると

SELECT * FROM member ORDER BY id DESC

id name
4 平田
3 藤波
2 三沢
1 川田

・【本題】2と4を先頭に並べると

SELECT * FROM member ORDER BY id = 2 DESC, id = 4 DESC, id ASC

id name
2 三沢
4 平田
1 川田
3 藤波

※ 最後に並べる場合は、ASCを指定します

並び順をシステムで制御したい場合は、
特定のレコードだけ先に処理したい場合には、
この方法を利用することで対応が可能では無いでしょうか。

☆☆ウィズテクノロジーでは、大阪、東京を中心としたシステム開発を行っております
システムのご相談はもとより、一緒に働くエンジニアもお待ちしております。☆☆

WORKS

導入事例

ウィズテクノロジーは大阪を拠点に、システム開発の分野で20年の実績を持つパートナー企業です。
業務効率化やDX支援など、さまざまな課題にワンストップで対応。
経験豊富なエンジニアが、企業の成長を技術面からしっかりサポートします。

導入事例一覧を見る
導入事例一覧を見る

RECRUIT

採用情報

未来に、価値ある選択を。

All WhizzTechnologyは、期待を超える価値をともにつくり、より良い未来へ導く仲間を募集しています。