ASで指定した項目名をGROUP BYやORDER BYで使用する方法。
ただいまSQLの勉強をしています。
タイトルどおりなのですが、ASで指定した項目名をGROUP BYやORDER BYで使用する方法はあるのでしょうか?
CASE文を使用したこちらのSQL文↓で、SELECT文、GROUP BY句、ORDER BY句の中に重複する部分が多く出てしまうのでどうにかすっきりさせたいと思い、独自に調べたり色々と試したのですがわからず、質問させていただきました。
お分かりになる方、いらっしゃいましたらご助言どうぞよろしくお願いいたします。
<SQL文>
SELECT CASE WHEN trancd % 3 = 1 THEN '購入番号(1,4,7,…)の集計'
WHEN trancd % 3 = 2 THEN '購入番号(2,5,8,…)の集計'
ELSE '購入番号(3,6,9,…)の集計'
END AS グループ名称
, sum(suryo) AS 数量合計
FROM tran
GROUP BY CASE WHEN trancd % 3 = 1 THEN '購入番号(1,4,7,…)の集計'
WHEN trancd % 3 = 2 THEN '購入番号(2,5,8,…)の集計'
ELSE '購入番号(3,6,9,…)の集計'
END
ORDER BY CASE WHEN trancd % 3 = 1 THEN '購入番号(1,4,7,…)の集計'
WHEN trancd % 3 = 2 THEN '購入番号(2,5,8,…)の集計'
ELSE '購入番号(3,6,9,…)の集計'
END;
お礼
超初心者質問にお答えいただき有り難う御座います。