タイガー!タイガー!じれったいぞー!(SE編)

AS400, Java, JavaEE, JSF等の開発、習慣など。日々の気づきをまとめたブログ(備忘録)

【SQL】ORDER BY句でオリジナルの順番でソートする方法

完全に自分用の備忘録です。

先日、SQL の ORDER BY句で、オリジナルの順序で並べたい機会がありました。

そもそも、そういう機会があることがイレギュラーだとわかってはいるのですが、やりたいものは仕方ありません。

すると、チーム・メンバーが、下記のサイトを教えてくれました。

qiita.com

これはありがたいです! ありがとうございます!!

やはり、CASE文を制する者が SQLを制するのでしょうか!?

最高です。

SELECT
  SECTION_CODE, SUM(AMOUNT1), SUM(AMOUNT2)
FROM
    TABLE1
WHERE
    DATE_FIELD = 20201231
GROUP BY
    SECTION_CODE
ORDER BY             
    CASE SECTION_CODE
        WHEN 'A1' THEN 10
        WHEN 'A2' THEN 20
        WHEN 'AB' THEN 30
        WHEN 'B1' THEN 40
        WHEN 'BA' THEN 50
        ELSE 999
    END