DBのデータを一覧表示している時に特定のレコードを一番上に持ってきたい時に使える方法です。
※使用環境はsql server management studioです。
まずは普通に一覧表示したデータが以下です。
SELECT TOP (1000) [部門ID]
,[部門名]
FROM [SampleDB].[dbo].[部門]
部門ID 部門名
1 営業部
2 総務部
3 人事部
4 製品開発部
5 品質保証部
6 情報システム部
7 経理部
そして以下の方法が表題のやり方です。
SELECT TOP (1000) [部門ID]
,[部門名]
FROM [SampleDB].[dbo].[部門]
ORDER BY
CASE 部門ID(←ここに先頭に持ってきたいカラムを指定) WHEN 5 (←ここに先頭に持ってきたいデータを指定) THEN 1 ELSE 2 END,
部門ID (ここで並び替えたい列を指定しないと表示が意図しないことになる)
以下のように指定したレコードが上に抽出されました。
部門ID 部門名
5 品質保証部
1 営業部
2 総務部
3 人事部
4 製品開発部
6 情報システム部
7 経理部
以上になります。誰かのお役に立てれば幸いです。
ここまでご覧頂きありがとうございました
補足
Oracleでも出来ました。