ソースコード
select  都道府県コード,
        都道府県名,
        max(case when 順位 = 1 then 国名 else null end) as "1位 国名",
        max(case when 順位 = 1 then 人数 else 0 end) as "1位 人数",
        max(case when 順位 = 2 then 国名 else null end) as "2位 国名",
        max(case when 順位 = 2 then 人数 else 0 end) as "2位 人数",
        max(case when 順位 = 3 then 国名 else null end) as "3位 国名",
        max(case when 順位 = 3 then 人数 else 0 end) as "3位 人数",
        sum(人数) as 合計人数
from
    (
        select  fn.pf_code as 都道府県コード,
                pf.pf_name as 都道府県名,
                fn.nation_code as 国コード,
                nn.nation_name as 国名,
                fn.amt as 人数,
                rank() over (partition by fn.pf_code order by sum(fn.amt) desc,fn.nation_code asc) as 順位
        from foreigner as fn
        inner join nationality as nn on fn.nation_code = nn.nation_code
        inner join prefecture as pf on fn.pf_code = pf.pf_code
        where fn.nation_code != "113"
        group by 都道府県コード,国コード
    ) as ranking
group by 都道府県コード,都道府県名
order by 合計人数 desc,都道府県コード asc;
提出情報
提出日時2023/07/11 13:10:57
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者hiramo_
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量82 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
82 MB
データパターン2
AC
82 MB