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