ソースコード
with k AS (SELECT FO.PF_CODE AS PF_CODE
                  ,PF_NAME AS PF_NAME
                  ,FO.NATION_CODE AS NATION_CODE
                  ,NATION_NAME AS NATION_NAME
                  ,AMT AS AMT
                  ,RANK() OVER(partition by FO.PF_CODE ORDER BY AMT desc, FO.NATION_CODE asc) AS lank
           FROM FOREIGNER FO
           LEFT JOIN PREFECTURE PR
           ON FO.PF_CODE = PR.PF_CODE
           LEFT JOIN NATIONALITY NA
           ON FO.NATION_CODE = NA.NATION_CODE
           WHERE FO.NATION_CODE <> '113')

SELECT PF_CODE AS 都道府県コード
,PF_NAME AS 都道府県名
,MAX(CASE lank WHEN 1 THEN NATION_NAME ELSE NULL END) AS '1位 国名'
,MAX(CASE lank WHEN 1 THEN AMT ELSE 0 END) AS '1位 人数'
,MAX(CASE lank WHEN 2 THEN NATION_NAME ELSE NULL END) AS '2位 国名'
,MAX(CASE lank WHEN 2 THEN AMT ELSE 0 END) AS '2位 人数'
,MAX(CASE lank WHEN 3 THEN NATION_NAME ELSE NULL END) AS '3位 国名'
,MAX(CASE lank WHEN 3 THEN AMT ELSE 0 END) AS '3位 人数'
,SUM(AMT) AS '合計人数'

FROM k
GROUP BY PF_CODE ,PF_NAME
ORDER BY 合計人数 desc
,都道府県コード asc
提出情報
提出日時2022/09/24 18:23:18
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者123456789010
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量79 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
79 MB
データパターン2
AC
77 MB