コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
WITH foreigner_ranking AS (
SELECT
pf.pf_code,
pf.pf_name,
RANK() OVER (PARTITION BY pf.pf_code ORDER BY f.amt DESC, f.nation_code) AS ranking,
n.nation_name,
f.amt
FROM
foreigner f
JOIN nationality n ON f.nation_code = n.nation_code
JOIN prefecture pf ON f.pf_code = pf.pf_code
WHERE
f.nation_code <> '113'
)
SELECT
pf_code AS "都道府県コード",
pf_name AS "都道府県名",
MAX(CASE WHEN ranking = 1 THEN nation_name END) AS "1位 国名",
MAX(CASE WHEN ranking = 1 THEN amt END) AS "1位 人数",
MAX(CASE WHEN ranking = 2 THEN nation_name END) AS "2位 国名",
MAX(CASE WHEN ranking = 2 THEN amt END) AS "2位 人数",
MAX(CASE WHEN ranking = 3 THEN nation_name END) AS "3位 国名",
MAX(CASE WHEN ranking = 3 THEN amt END) AS "3位 人数",
SUM(amt) AS "合計人数"
FROM
foreigner_ranking
GROUP BY
pf_code, pf_name
ORDER BY
"合計人数" DESC, pf_code;
提出情報
提出日時 | 2025/01/29 15:01:27 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | mizuno1214 |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 88 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
88 MB
データパターン2
AC
85 MB