コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
WITH tmp AS (
SELECT
FR.PF_CODE
,FR.NATION_CODE
,NY.NATION_NAME
,PF.PF_NAME
,RANK() OVER(PARTITION BY FR.PF_CODE ORDER BY FR.AMT DESC ,NY.NATION_CODE ASC) AS rn
,FR.AMT
FROM FOREIGNER AS FR
LEFT JOIN NATIONALITY AS NY
ON FR.NATION_CODE = NY.NATION_CODE
LEFT JOIN PREFECTURE AS PF
ON FR.PF_CODE = PF.PF_CODE
WHERE
FR.NATION_CODE <> 113
) ,rn1 AS (
select
PF_CODE,PF_NAME,
NATION_NAME AS '1位 国名',
AMT AS '1位 人数'
from
tmp
where
rn = 1
),rn2 AS (
select
PF_CODE,PF_NAME,
NATION_NAME AS '2位 国名',
AMT AS '2位 人数'
from
tmp
where
rn = 2
),rn3 AS (
select
PF_CODE,PF_NAME,
NATION_NAME AS '3位 国名',
AMT AS '3位 人数'
from
tmp
where
rn = 3
), su AS(
SELECT
PF_CODE
,SUM(AMT) AS 合計人数
FROM
FOREIGNER
WHERE
NATION_CODE <> 113
GROUP BY
PF_CODE
)
SELECT
rn1.PF_CODE AS 都道府県コード
,rn1.PF_NAME AS 都道府県
,rn1.'1位 国名'
,rn1.'1位 人数'
,rn2.'2位 国名'
,rn2.'2位 人数'
,rn3.'3位 国名'
,rn3.'3位 人数'
,su.合計人数
FROM rn1
left join rn2 on rn1.PF_CODE = rn2.PF_CODE
left join rn3 on rn1.PF_CODE = rn3.PF_CODE
left join su on rn1.PF_CODE = su.PF_CODE
ORDER BY 合計人数 DESC , 都道府県コード ASC
提出情報
提出日時 | 2023/07/03 12:51:05 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | mywk |
状態 (詳細) | WA (Wrong Answer: 誤答) |
メモリ使用量 | 81 MB |
メッセージ
テストケース(通過数/総数)
0/2
状態
メモリ使用量
データパターン1
WA
81 MB
データパターン2
WA
79 MB