ソースコード
with t1 as (
select
    pf_code
    , pf_name
    , nation_name
    , amt
    , row_number() over (partition by pf_code order by amt desc,nation_code asc) as rn
    , sum(amt) over (partition by pf_code) as sum_amt
from
    foreigner
    join prefecture using(pf_code)
    join nationality using(nation_code)
where
    nation_code != "113"
)
select
    p.pf_code as "都道府県コード"
    , p.pf_name as "都道府県名"
    , p1.nation_name as "1位 国名"
    , p1.amt as "1位 人数"
    , p2.nation_name as "2位 国名"
    , p2.amt as "2位 人数"
    , p3.nation_name as "3位 国名"
    , p3.amt as "3位 人数"
    , p1.sum_amt as "合計人数"
from
    prefecture as p
    join t1 as p1 on p1.pf_code = p.pf_code and p1.rn = 1
    left join t1 as p2 on p2.pf_code = p.pf_code and p2.rn = 2
    left join t1 as p3 on p3.pf_code = p.pf_code and p3.rn = 3
order by
    "合計人数" desc,"都道府県コード"
提出情報
提出日時2022/12/10 17:13:42
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者ushi
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量87 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
83 MB
データパターン2
AC
87 MB