コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
WITH mart AS(
SELECT
FOREIGNER.PF_CODE,
PF_NAME,
FOREIGNER.NATION_CODE,
NATION_NAME,
AMT,
ROW_NUMBER() OVER (PARTITION BY FOREIGNER.PF_CODE ORDER BY AMT DESC, FOREIGNER.NATION_CODE) AS ranking
FROM
FOREIGNER
INNER JOIN
NATIONALITY
ON
FOREIGNER.NATION_CODE = NATIONALITY.NATION_CODE
INNER JOIN
PREFECTURE
ON
FOREIGNER.PF_CODE = PREFECTURE.PF_CODE
WHERE
FOREIGNER.NATION_CODE <> 113
ORDER BY
FOREIGNER.PF_CODE,
AMT DESC,
FOREIGNER.NATION_CODE
)
SELECT
PF_CODE AS 都道府県コード,
PF_NAME AS 都道府県名,
MAX(CASE WHEN ranking = 1 THEN NATION_NAME ELSE NULL END) AS "1位 国名",
MAX(CASE WHEN ranking = 1 THEN AMT ELSE 0 END) AS "1位 人数",
MAX(CASE WHEN ranking = 2 THEN NATION_NAME ELSE NULL END) AS "2位 国名",
MAX(CASE WHEN ranking = 2 THEN AMT ELSE 0 END) AS "2位 人数",
MAX(CASE WHEN ranking = 3 THEN NATION_NAME ELSE NULL END) AS "3位 国名",
MAX(CASE WHEN ranking = 3 THEN AMT ELSE 0 END) AS "3位 人数",
SUM(AMT) AS "合計人数"
FROM
mart
GROUP BY
都道府県コード,
都道府県名
ORDER BY
合計人数 DESC,
都道府県コード
提出情報
提出日時 | 2022/07/20 19:15:07 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | yn |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 105 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
94 MB
データパターン2
AC
105 MB