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