ソースコード
SELECT 
    Ag.AGE_NAME AS 年齢階層,
    -- CASE句を用いて時間コードの値で場合分けし、対象人数を対応するカラムに振分けます
    -- 最後に、年齢コードでグルーピングを行い、振分けた値をサマリして表示します
    -- AS句で変更している表示項目名の先頭が数字なので、ダブルクォーテーションで項目名を囲っています
    SUM(CASE WHEN st.TIME_CODE = 120 THEN TARGET_POP ELSE 0 END) AS "5時間未満",
    SUM(CASE WHEN st.TIME_CODE = 130 THEN TARGET_POP ELSE 0 END) AS "5時間以上6時間未満",
    SUM(CASE WHEN st.TIME_CODE = 140 THEN TARGET_POP ELSE 0 END) AS "6時間以上7時間未満",
    SUM(CASE WHEN st.TIME_CODE = 150 THEN TARGET_POP ELSE 0 END) AS "7時間以上8時間未満",
    SUM(CASE WHEN st.TIME_CODE = 160 THEN TARGET_POP ELSE 0 END) AS "8時間以上9時間未満",
    SUM(CASE WHEN st.TIME_CODE = 170 THEN TARGET_POP ELSE 0 END) AS "9時間以上",
    SUM(CASE WHEN st.TIME_CODE = 180 THEN TARGET_POP ELSE 0 END) AS "不詳"
FROM
    SLEEP_TIME_DTL AS std
LEFT JOIN
    AGE_GRP AS ag
ON
    std.age_code = ag.age_code
LEFT JOIN
    sleep_time AS st
ON
    std.time_code = st.time_code
GROUP BY
    年齢階層
;
提出情報
提出日時2022/07/03 14:32:07
コンテスト練習用コンテスト
問題年齢別睡眠時間分析
受験者benjamin
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量85 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
85 MB
データパターン2
AC
78 MB