プログラミング言語としてのSQLの特徴は、データを集合として取り扱うことです。データ分析の業務では、数万から数億レコードにものぼる大量のデータを、1行単位で確認することは非現実的です。そこで、大量のデータを集約して、少ない指標でデータ全体の特徴を捉える技術が重要となります。 1つの表(テーブル)を対象としたデータの集約や加工手法にはいろいろありますが、本項では書籍のChapter3-3「1つのテーブルに対する操作」から、3-3-3「縦持ちのデータを横持ちに変換する」を紹介します。 この項で登場するSQLは、MAX(CASE~)構文、string_agg関数、listagg関数、collect_list関数です。 SQLは行(レコード)に対して一度に処理を実行することが得意なため、データを保存する際には可能な限りデータを行に分割して保持すると、操作が容易になります。しかし、最終的な出力では、