コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
ALTER TABLE NATIONALITY ADD RANK() OVER(PARTITION BY PF_CODE ORDER BY AMT DESC, NATION_CODE) AS AMT_RANK INTEGER;
SELECT PR.PF_CODE 都道府県コード, PR.PF_NAME 都道府県名,
CASE WHEN AMT_RANK = 1 THEN NA.NATION_NAME ELSE NULL END AS "1位 国名",
CASE WHEN AMT_RANK = 1 THEN FO.AMT ELSE 0 END AS "1位 人数",
CASE WHEN AMT_RANK = 2 THEN NA.NATION_NAME ELSE NULL END AS "2位 国名",
CASE WHEN AMT_RANK = 2 THEN FO.AMT ELSE 0 END AS "2位 人数",
CASE WHEN AMT_RANK = 3 THEN NA.NATION_NAME ELSE NULL END AS "3位 国名",
CASE WHEN AMT_RANK = 3 THEN FO.AMT ELSE 0 END AS "3位 人数",
SUM(NA.AMT) 合計人数
FROM FOREIGNER FO
INNER JOIN NATIONALITY NA ON FO.NATION_CODE = NA.NATION_CODE
INNER JOIN PREFECTURE PR ON FO.PF_CODE = PR.PF_CODE
WHERE NA.NATION_CODE != "113"
GROUP BY 都道府県コード, 都道府県名
ORDER BY 合計人数 DESC, 都道府県コード;
提出情報
提出日時 | 2024/07/17 16:11:37 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | T |
状態 (詳細) | WA (Wrong Answer: 誤答) |
メモリ使用量 | MB |