ソースコード
SELECT 
	C.PF_CODE AS 都道府県コード
	,E.PF_NAME AS 都道府県名
	,MAX(CASE WHEN C.RANK = 1 THEN C.NATION_NAME END)  AS '1位 国名'
	,MAX(CASE WHEN C.RANK = 1 THEN C.AMT END)  AS '1位 人数'
	,MAX(CASE WHEN C.RANK = 2 THEN C.NATION_NAME END)  AS '2位 国名'
	,MAX(CASE WHEN C.RANK = 2 THEN C.AMT END)  AS '2位 人数'
 	,MAX(CASE WHEN C.RANK = 3 THEN C.NATION_NAME END)  AS '3位 国名'
	,MAX(CASE WHEN C.RANK = 3 THEN C.AMT END)   AS '3位 人数'
	,D.TOTAL AS 合計人数
FROM
(
	SELECT 
		A.PF_CODE
		,RANK() OVER(PARTITION BY A.PF_CODE ORDER BY A.AMT DESC,A.NATION_CODE) AS RANK
		,A.NATION_CODE
		,B.NATION_NAME
		,A.AMT
	FROM FOREIGNER A
	LEFT JOIN NATIONALITY B ON A.NATION_CODE = B.NATION_CODE
	WHERE A.NATION_CODE <> '113'
	ORDER BY A.PF_CODE ASC
) C
LEFT JOIN (
	SELECT PF_CODE,SUM(AMT) AS TOTAL FROM FOREIGNER WHERE NATION_CODE <> '113' GROUP BY PF_CODE
) D ON C.PF_CODE = D.PF_CODE
LEFT JOIN PREFECTURE E ON C.PF_CODE = E.PF_CODE
GROUP BY C.PF_CODE
ORDER BY D.TOTAL DESC ,  C.PF_CODE ASC
提出情報
提出日時2022/08/29 16:41:41
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者Se_kire_i
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量80 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
80 MB
データパターン2
AC
77 MB