ソースコード
select
  sub.PF_CODE 都道府県コード,
  sub.PF_NAME 都道府県名,
  max(case when sub.rnk = 1 then sub.NATION_NAME else NULL end) '1位 国名',
  max(case when sub.rnk = 1 then sub.AMT else NULL end) '1位 人数',
  max(case when sub.rnk = 2 then sub.NATION_NAME else NULL end) '2位 国名',
  max(case when sub.rnk = 2 then sub.AMT else NULL end) '2位 人数',
  max(case when sub.rnk = 3 then sub.NATION_NAME else NULL end) '3位 国名',
  max(case when sub.rnk = 3 then sub.AMT else NULL end) '3位 人数',
  sum(sub.AMT) 合計人数
from

(
select
P.PF_CODE,
P.PF_NAME,
F.AMT,
N.NATION_NAME,
rank() over (
  partition by F.PF_CODE
  order by F.AMT desc, N.NATION_CODE
) rnk
from FOREIGNER F
inner join NATIONALITY N on
  N.NATION_CODE = F.NATION_CODE
inner join PREFECTURE P on
  P.PF_CODE = F.PF_CODE
where F.NATION_CODE != '113'
) sub

group by sub.PF_CODE

order by 合計人数 desc, 都道府県コード
;
提出情報
提出日時2022/10/19 12:29:59
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者laysakura
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量84 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
79 MB
データパターン2
AC
84 MB