コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
with base as (
SELECT
f.pf_code
, n.nation_name
, rank() OVER (partition by f.pf_code ORDER BY sum(f.amt) DESC, f.nation_code) as rnk
, sum(f.amt) as num
, sum(f.amt) OVER (partition by pf_code) as total
FROM
foreigner as f
INNER JOIN
nationality as n
on f.nation_code = n.nation_code
WHERE
f.nation_code != '113'
GROUP BY
f.pf_code
, f.nation_code
)
select
base.pf_code AS 都道府県コード
, p.pf_name AS 都道府県名
, MAX(CASE rnk WHEN 1 THEN nation_name ELSE NULL END) AS `1位 国名`
, MAX(CASE rnk WHEN 1 THEN num ELSE NULL END) AS `1位 人数`
, MAX(CASE rnk WHEN 2 THEN nation_name ELSE NULL END) AS `2位 国名`
, MAX(CASE rnk WHEN 2 THEN num ELSE NULL END) AS `2位 人数`
, MAX(CASE rnk WHEN 3 THEN nation_name ELSE NULL END) AS `3位 国名`
, MAX(CASE rnk WHEN 3 THEN num ELSE NULL END) AS `3位 人数`
, total AS 合計人数
from
base
inner join
prefecture as p
on base.pf_code = p.pf_code
where
rnk <= 3
group by
base.pf_code
ORDER BY
合計人数 DESC
, 都道府県コード
提出情報
提出日時 | 2022/07/20 20:03:20 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | topazape |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 101 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
100 MB
データパターン2
AC
101 MB