コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
-- 都道府県別男女別に飲酒状況を集計した飲酒状況データより、都道府県別に毎日飲酒している人数の飲酒率を算出し、飲酒率が高い順に表示しなさい。
-- 人数は性別コード = '2' , '3' のデータを合算して求めなさい。
-- 各コードの値は以下となっている。
-- カテゴリコード:'110' (総数)、'120' (毎日飲酒)、'130' (不明)
-- 性別コード:'1' (不明)、'2' (男)、'3' (女)
-- 飲酒率は、都道府県毎に下記の式で求め、小数点第2位を四捨五入する。
-- 総調査人数
-- 毎日飲酒人数
--
-- ×100
-- 表示項目は以下とする。(エイリアスを使用し→の項目名とする)
-- PF_CODE → CODE
-- PF_NAME → NAME
-- 都道府県毎の毎日飲酒率 → PERCENTAGE
-- 表示順
-- 飲酒率の降順
-- 都道府県コードの降順
WITH
base AS (
SELECT
PF_CODE
, CAST(SUM(CASE WHEN CATEGORY_CODE = '110' THEN AMT ELSE 0 END) AS REAL) AS "総調査人数"
, CAST(SUM(CASE WHEN CATEGORY_CODE = '120' THEN AMT ELSE 0 END) AS REAL) AS "毎日飲酒人数"
FROM
DRINK_HABITS
WHERE
GENDER_CODE IN ('2', '3')
GROUP BY
PF_CODE
)
SELECT
PF_CODE AS CODE
, PF_NAME AS NAME
, ROUND("毎日飲酒人数" / "総調査人数" * 100, 1) AS PERCENTAGE
FROM
base
LEFT JOIN
PREFECTURE
USING (PF_CODE)
ORDER BY
PERCENTAGE DESC
, PF_CODE DESC
提出情報
提出日時 | 2023/01/10 18:21:22 |
コンテスト | 第2回 SQLコンテスト |
問題 | 飲酒率 |
受験者 | res1235 |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 79 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
79 MB
データパターン2
AC
76 MB