ソースコード
WITH IDX AS (
    SELECT 
        AGE_CODE AS 年齢コード,
        AGE_NAME AS 年齢階層
    FROM AGE_GRP
    GROUP BY 年齢コード
), MERGED AS (
    SELECT
        AGE_GRP.AGE_CODE AS 年齢コード, 
        AGE_GRP.AGE_NAME AS 年齢階層,
        SLEEP_TIME_DTL.TIME_CODE AS 時間コード,
        SLEEP_TIME_DTL.TARGET_POP AS 対象人数,
        SLEEP_TIME.TIME_NAME AS 睡眠時間
    FROM AGE_GRP
    INNER JOIN SLEEP_TIME_DTL ON AGE_GRP.AGE_CODE = SLEEP_TIME_DTL.AGE_CODE
    INNER JOIN SLEEP_TIME ON SLEEP_TIME_DTL.TIME_CODE = SLEEP_TIME.TIME_CODE
), GROUP1 AS (
    SELECT 年齢階層, 年齢コード, SUM(対象人数) AS CNT
    FROM MERGED
    WHERE 時間コード = 120
    GROUP BY 年齢階層
), GROUP2 AS (
    SELECT 年齢階層, 年齢コード, SUM(対象人数) AS CNT
    FROM MERGED
    WHERE 時間コード = 130
    GROUP BY 年齢階層
), GROUP3 AS (
    SELECT 年齢階層, 年齢コード, SUM(対象人数) AS CNT
    FROM MERGED
    WHERE 時間コード = 140
    GROUP BY 年齢階層
), GROUP4 AS (
    SELECT 年齢階層, 年齢コード, SUM(対象人数) AS CNT
    FROM MERGED
    WHERE 時間コード = 150
    GROUP BY 年齢階層
), GROUP5 AS (
    SELECT 年齢階層, 年齢コード, SUM(対象人数) AS CNT
    FROM MERGED
    WHERE 時間コード = 160
    GROUP BY 年齢階層
), GROUP6 AS (
    SELECT 年齢階層, 年齢コード, SUM(対象人数) AS CNT
    FROM MERGED
    WHERE 時間コード = 170
    GROUP BY 年齢階層
), GROUP7 AS (
    SELECT 年齢階層, 年齢コード, SUM(対象人数) AS CNT
    FROM MERGED
    WHERE 時間コード = 180
    GROUP BY 年齢階層
)
SELECT
    IDX.年齢階層,
    GROUP1.CNT AS '5時間未満',
    GROUP2.CNT AS '5時間以上6時間未満',
    GROUP3.CNT AS '6時間以上7時間未満',
    GROUP4.CNT AS '7時間以上8時間未満',
    GROUP5.CNT AS '8時間以上9時間未満',
    GROUP6.CNT AS '9時間以上',
    GROUP7.CNT AS '不詳'
FROM IDX
INNER JOIN GROUP1 ON IDX.年齢コード = GROUP1.年齢コード
INNER JOIN GROUP2 ON IDX.年齢コード = GROUP2.年齢コード
INNER JOIN GROUP3 ON IDX.年齢コード = GROUP3.年齢コード
INNER JOIN GROUP4 ON IDX.年齢コード = GROUP4.年齢コード
INNER JOIN GROUP5 ON IDX.年齢コード = GROUP5.年齢コード
INNER JOIN GROUP6 ON IDX.年齢コード = GROUP6.年齢コード
INNER JOIN GROUP7 ON IDX.年齢コード = GROUP7.年齢コード
ORDER BY IDX.年齢コード ASC
;
提出情報
提出日時2022/07/17 23:27:22
コンテスト練習用コンテスト
問題年齢別睡眠時間分析
受験者adaigo
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量81 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
81 MB
データパターン2
AC
79 MB