[解決済み] Presto SQL ピボッティング(言葉は悪いですが)データ
2022-01-31 12:28:39
質問
Prestoデータベースで、いくつかのコースデータを扱っています。テーブルのデータは以下のようなものです。
student_id period score completed
1 2016_Q1 3 Y
1 2016_Q3 4 Y
3 2017_Q1 4 Y
4 2018_Q1 2 N
というようにデータを整形したいのですが。
student_id 2018_Q1_score 2018_Q1_completed 2017_Q3_score
1 0 N 5
3 4 Y 4
4 2 N 2
しかし、よりスケーラブルなソリューション(例えば、期間ごとに新しいジョインを手動で作成する必要がないなど)を推奨する達人がいるかどうか、ここで聞いてみたかったのです。何か提案はありますか?
どのように解決するのですか?
条件付き集計を使えばいいんだよ。
select student_id,
max(case when period = '2018_Q1' then score else 0 end) as score_2018q1,
max(case when period = '2018_Q1' then completed then 'N' end) as completed_2018q1,
max(case when period = '2017_Q3' then score else 0 end) as score_2017q3
from t
group by student_id
関連
-
[解決済み】「パラメータ@objnameがあいまいか、主張する@objtype(COLUMN)が間違っています」を解決するにはどうすればよいですか?[重複している]。
-
[解決済み】一括読み込みデータ変換エラー(指定されたコードページに対して型の不一致または無効な文字)1行目4列目(年)について)
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] Ruby On Rails で NuoDB を使用して SQL コマンドを手動で実行する方法
-
[解決済み] オペランド型の衝突:uniqueidentifierはintと互換性がない
-
[解決済み] Oracle Trigger ORA-04098: トリガーが無効で、再バリデーションに失敗しました。
-
[解決済み] VBA - ADODB.CommandTextの実行
-
[解決済み] T-SQLでnot equalには!=と<>のどちらを使うべきですか?
-
[解決済み] SQLite - UPSERT *not* INSERT or REPLACE
-
[解決済み】2つのSELECT文の結果をJOINする。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PL/SQL SELECTに複数のCOUNT(DISTINCT xxx)を指定すると、予期しない結果になる。
-
[解決済み】Postgresのエラー。式として使用されるサブクエリによって返される複数の行
-
[解決済み】一括読み込みデータ変換エラー(切り捨て)
-
[解決済み] WHERE x IN (5) vs WHERE x = 5 ...なぜINを使うのか?
-
[解決済み] ORA-04063: ビューにエラーがあります
-
[解決済み] ORA-00920: 無効な関係演算子
-
[解決済み] アクセスクエリーエラー(from句のシンタックスエラー)
-
[解決済み] nvarchar 値 ... をデータ型 int に変換する際に、変換に失敗しました。
-
[解決済み] トリガーがコンパイルエラーで作成される
-
[解決済み] PLS-00428: この SELECT 文では INTO 句が必要です。