ソースコード
with t as (
  select 
  "都道府県コード",
  "都道府県名",
  NATION_CODE,
  NATION_NAME,
  AMT,
  rank() over (partition by "都道府県コード" order by AMT desc, NATION_CODE)  as r
  from (
    select 
    PF_CODE "都道府県コード",
    PF_NAME "都道府県名",
    NATION_CODE,
    NATION_NAME,
    sum(AMT) as AMT
    from FOREIGNER
    left join NATIONALITY using (NATION_CODE)
    left join PREFECTURE using (PF_CODE)
    where NATION_CODE <> '113'
    group by 1,2,3,4
  )
)
select 
"都道府県コード",
"都道府県名",
(select NATION_NAME from t tt where t."都道府県コード" = tt."都道府県コード" and tt.r = 1) "1位 国名",
(select AMT from t tt where t."都道府県コード" = tt."都道府県コード" and tt.r = 1) "1位 人数",
(select NATION_NAME from t tt where t."都道府県コード" = tt."都道府県コード" and tt.r = 2) "2位 国名",
(select AMT from t tt where t."都道府県コード" = tt."都道府県コード" and tt.r = 2) "2位 人数",
(select NATION_NAME from t tt where t."都道府県コード" = tt."都道府県コード" and tt.r = 3) "3位 国名",
(select AMT from t tt where t."都道府県コード" = tt."都道府県コード" and tt.r = 3) "3位 人数",
sum(AMT) "合計人数"
from t
group by 1,2,3,4,5,6,7,8
order by 9 desc, 1
提出情報
提出日時2022/07/20 20:05:19
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者tac0x2a
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量103 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
103 MB
データパターン2
AC
100 MB