ソースコード
SELECT
	PF_CODE AS "都道府県コード"
	,PF_NAME AS "都道府県名"
	,MAX(CASE tmp.RANK WHEN 1 THEN NATION_NAME ELSE NULL END) AS "1位 国名"
	,MAX(CASE tmp.RANK WHEN 1 THEN AMT ELSE 0 END) AS "1位 人数"
	,MAX(CASE tmp.RANK WHEN 2 THEN NATION_NAME ELSE NULL END) AS "2位 国名"
	,MAX(CASE tmp.RANK WHEN 2 THEN AMT ELSE 0 END) AS "2位 人数"
	,MAX(CASE tmp.RANK WHEN 3 THEN NATION_NAME ELSE NULL END) AS "3位 国名"
	,MAX(CASE tmp.RANK WHEN 3 THEN AMT ELSE 0 END) AS "3位 人数"
	,SUM(AMT) AS "合計人数"
FROM
	(
		SELECT
			p.PF_CODE AS PF_CODE
			,p.PF_NAME AS PF_NAME 
			,n.NATION_CODE AS NATION_CODE 
			,n.NATION_NAME AS NATION_NAME 
			,f.AMT AS AMT
			, RANK() OVER (
				PARTITION BY
					p.PF_CODE
				ORDER BY
					f.AMT DESC
					, n.NATION_CODE ASC
			) AS RANK
		FROM
			FOREIGNER AS f
		INNER JOIN PREFECTURE AS p
			ON p.PF_CODE = f.PF_CODE
		INNER JOIN NATIONALITY AS n
			ON n.NATION_CODE = f.NATION_CODE
		WHERE
			f.NATION_CODE <> '113'
	)AS tmp
GROUP BY
    tmp.PF_CODE
ORDER BY
	合計人数 DESC
	,都道府県コード ASC;
提出情報
提出日時2024/06/08 16:37:08
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者kwm_t
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量92 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
92 MB
データパターン2
AC
88 MB