
ただいま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;
No.1ベストアンサー
- 回答日時:
RDBMSは、ここのカテゴリ通り、PostgreSQLですか?
バージョンは?
SQLの勉強中とのことですが、何のためにこんなSQLを作っているのでしょうかね?
別名ですが、内側のクエリで付けた名前であれば、外側のクエリで使用できると思います。
select ・・・ from
(select ・・・ from ・・・) as x -- この中で別名を付けたら、外側で使用可能
書き忘れてしまっていたのですが、動作環境はPostgreSQL 8.3です。
クエリを使用する方法は調べていて見つけたのですが、やはりその方法しかないのでしょうか…。
ご回答ありがとうございました*
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのクエリで集計で、先頭...
-
カウントが出来ません
-
Accessフォームにクロス集計ク...
-
ACCESS検索★ある文字を複数のフ...
-
Accessでテーブル名やクエリ名...
-
「直需」の意味を教えてください
-
Oracleのビュー作成時に「指定...
-
【Access】フォームで自動計算...
-
Excel 2019 のピボットテーブル...
-
テーブルの存在チェックについて
-
Oracle 2つのDate型の値の差を...
-
Vbaでアクセスからエクセルにリ...
-
ACCESSでテーブルのチェックを...
-
再計算って出来ますか?
-
Accessのフィールド数が255しか...
-
Access クロス集計クエリについて
-
【続続】Access2002で連番のつ...
-
accsessで顧客コードで氏名を呼...
-
Countと受付状態の表示に...
-
どれがPrimary Key、ForeignKey...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カウントが出来ません
-
FROM の中で CASE を使えるでし...
-
ACCESSのクエリで集計で、先頭...
-
アクセスで困ってます(初心者)
-
access 存在しない項目を”0件”...
-
Accessフォームにクロス集計ク...
-
複数列フィールド値のクロス集計
-
クロス集計の結果を元に戻す方法
-
アクセスクエリ 締め日毎で絞...
-
AccessからExcelへエクスポート...
-
アクセスクエリの計算
-
Accessで年齢から年代ごとの集計
-
桐の集計(集計行設定のこと)...
-
ASで指定した項目名をGROUP BY...
-
教えてグーのランキング?につ...
-
「警告 : NULL 値は集計または...
-
クロス集計での order by句の使...
-
ACCESS VBAの定義域集計関数の...
-
ファイルメーカーからエクセル...
-
クエリを使って縦に一行ずつ足...
おすすめ情報