コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
WITH SH_AVG AS (
SELECT
AGE
,GENDER_CODE
,AVG(CASE WHEN CATEGORY_CODE == '10' THEN AVERAGE_VALUE ELSE NULL END) AS H_AVG
,AVG(CASE WHEN CATEGORY_CODE == '20' THEN AVERAGE_VALUE ELSE NULL END) AS W_AVG
FROM
SCHOOL_HEALTH
WHERE
SURVEY_YEAR = 2019
GROUP BY
AGE, GENDER_CODE
ORDER BY
AGE DESC
,GENDER_CODE DESC
)
SELECT * FROM SH_AVG;WITH SH_AVG AS (
SELECT
AGE
,GENDER_CODE
,2019 AS SURVEY_YEAR
,ROUND(AVG(CASE WHEN CATEGORY_CODE == '10' THEN AVERAGE_VALUE ELSE NULL END), 1) AS H_AVG
,ROUND(AVG(CASE WHEN CATEGORY_CODE == '20' THEN AVERAGE_VALUE ELSE NULL END), 1) AS W_AVG
FROM
SCHOOL_HEALTH
WHERE
SURVEY_YEAR = 2019
GROUP BY
AGE, GENDER_CODE
ORDER BY
AGE DESC
,GENDER_CODE DESC
)
SELECT
sh.AGE
,CASE sh.GENDER_CODE
WHEN 20 THEN 'MALE'
ELSE 'FEMALE'
END AS GENDER
,ROUND(AVG(CASE WHEN sh.CATEGORY_CODE == '10' THEN sh.AVERAGE_VALUE ELSE NULL END), 1) AS H_AVG
,ROUND(COUNT(CASE WHEN sh.CATEGORY_CODE == '10' AND sha.H_AVG <= AVERAGE_VALUE THEN 1 ELSE NULL END) /
CAST(COUNT(CASE WHEN sh.CATEGORY_CODE == '10' THEN 1 ELSE NULL END) AS FLOAT) * 100, 1) || '%' AS H_PER
,ROUND(AVG(CASE WHEN sh.CATEGORY_CODE == '20' THEN sh.AVERAGE_VALUE ELSE NULL END), 1) AS W_AVG
,ROUND(COUNT(CASE WHEN sh.CATEGORY_CODE == '20' AND sha.W_AVG <= AVERAGE_VALUE THEN 1 ELSE NULL END) /
CAST(COUNT(CASE WHEN sh.CATEGORY_CODE == '20' THEN 1 ELSE NULL END) AS FLOAT) * 100, 1) || '%' AS W_PER
FROM SCHOOL_HEALTH sh
INNER JOIN SH_AVG sha
ON sh.AGE = sha.AGE
AND sh.GENDER_CODE = sha.GENDER_CODE
AND sh.SURVEY_YEAR = sha.SURVEY_YEAR
GROUP BY
sh.AGE, sh.GENDER_CODE
ORDER BY
sh.AGE DESC
,sh.GENDER_CODE DESC;
提出情報
提出日時 | 2025/02/09 17:59:20 |
コンテスト | 第8回 SQLコンテスト |
問題 | 身長と体重 |
受験者 | evergreen |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 86 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
85 MB
データパターン2
AC
86 MB