ソースコード
/*
年齢階層	5時間未満	5時間以上6時間未満	6時間以上7時間未満	7時間以上8時間未満	8時間以上9時間未満	9時間以上	不詳

AGE_NAME → 年齢階層
年齢層毎に集計した、TIME_CODE = 120の人数 → 5時間未満
年齢層毎に集計した、TIME_CODE = 130の人数 → 5時間以上6時間未満
年齢層毎に集計した、TIME_CODE = 140の人数 → 6時間以上7時間未満
年齢層毎に集計した、TIME_CODE = 150の人数 → 7時間以上8時間未満
年齢層毎に集計した、TIME_CODE = 160の人数 → 8時間以上9時間未満
年齢層毎に集計した、TIME_CODE = 170の人数 → 9時間以上
年齢層毎に集計した、TIME_CODE = 180の人数 → 不詳
表示順

年齢コードの昇順
*/

select
    ag.AGE_NAME as '年齢階層',
    SUM(case when std.TIME_CODE = 120 then std.TARGET_POP else 0 end) as '5時間未満',
    SUM(case when std.TIME_CODE = 130 then std.TARGET_POP else 0 end) as '5時間以上6時間未満',
    SUM(case when std.TIME_CODE = 140 then std.TARGET_POP else 0 end) as '6時間以上7時間未満',
    SUM(case when std.TIME_CODE = 150 then std.TARGET_POP else 0 end) as '7時間以上8時間未満',
    SUM(case when std.TIME_CODE = 160 then std.TARGET_POP else 0 end) as '8時間以上9時間未満',
    SUM(case when std.TIME_CODE = 170 then std.TARGET_POP else 0 end) as '9時間以上',
    SUM(case when std.TIME_CODE = 180 then std.TARGET_POP else 0 end) as '不詳'
from
    SLEEP_TIME_DTL std
    inner join SLEEP_TIME st
        on std.TIME_CODE = st.TIME_CODE
    inner join AGE_GRP ag
        on std.AGE_CODE = ag.AGE_CODE
group by
    std.AGE_CODE
order by
    ag.AGE_CODE
;
提出情報
提出日時2023/11/22 15:04:43
コンテスト練習用コンテスト
問題年齢別睡眠時間分析
受験者puchanko
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量98 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
AC
98 MB