ソースコード
with tmp1 as(
select 
    *
    ,RANK() OVER (PARTITION BY f.pf_code ORDER BY amt DESC, f.nation_code) AS RankNo
from FOREIGNER f 
left join NATIONALITY n on f.NATION_CODE=n.NATION_CODE
left join PREFECTURE p on f.pf_code=p.pf_code
order by 1,3 desc
)
-- select * from tmp1;
-- select sum(amt) from tmp1 where pf_code="11000"

select
    pf_code as "都道府県コード"
    ,pf_name as "都道府県名"
    ,max(case when RankNo=1 then nation_name else null end) as "1位 国名"
    ,sum(case when RankNo=1 then amt else 0 end) as "1位 人数"
    ,max(case when RankNo=2 then nation_name else null end) as "2位 国名"
    ,sum(case when RankNo=2 then amt else 0 end) as "2位 人数"
    ,max(case when RankNo=3 then nation_name else null end) as "3位 国名"
    ,sum(case when RankNo=3 then amt else 0 end) as "3位 人数"
    ,sum(amt) as "合計人数"
from tmp1 
group by 1
order by 9 desc, 1
提出情報
提出日時2024/03/17 18:02:58
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者sjty9561
状態 (詳細)WA
(Wrong Answer: 誤答)
メモリ使用量89 MB
メッセージ
テストケース(通過数/総数)
0/2
状態
メモリ使用量
データパターン1
WA
89 MB
データパターン2
WA
89 MB