コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
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 ,FR.NATION_CODE ASC) AS rn
,FR.AMT
FROM FOREIGNER AS FR
INNER JOIN NATIONALITY AS NY ON FR.NATION_CODE = NY.NATION_CODE
INNER 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 13:11:02 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | mywk |
状態 (詳細) | WA (Wrong Answer: 誤答) |
メモリ使用量 | 84 MB |
メッセージ
テストケース(通過数/総数)
0/2
状態
メモリ使用量
データパターン1
WA
84 MB
データパターン2
WA
80 MB