コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
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
;
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
81 MB
データパターン2
AC
79 MB