コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
WITH SUB AS (
SELECT
RANK() OVER (PARTITION BY FOREIGNER.PF_CODE ORDER BY AMT DESC , FOREIGNER.NATION_CODE ) AS RANK
,FOREIGNER.PF_CODE
,PREFECTURE.PF_NAME
,FOREIGNER.NATION_CODE
,NATIONALITY.NATION_NAME
,SUM(FOREIGNER.AMT) AS AMT
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"
GROUP BY FOREIGNER.PF_CODE, FOREIGNER.NATION_CODE
ORDER BY FOREIGNER.PF_CODE,AMT DESC,FOREIGNER.NATION_CODE
)
--メイン処理
SELECT
SUB.PF_CODE AS 都道府県コード
, SUB.PF_NAME AS 都道府県名
, MAX(CASE SUB.RANK WHEN 1 THEN NATION_NAME END) AS "1位 国名"
, MAX(CASE SUB.RANK WHEN 1 THEN AMT END) AS "1位 人数"
, MAX(CASE SUB.RANK WHEN 2 THEN NATION_NAME END) AS "2位 国名"
, MAX(CASE SUB.RANK WHEN 2 THEN AMT END) AS "2位 人数"
, MAX(CASE SUB.RANK WHEN 3 THEN NATION_NAME END) AS "3位 国名"
, MAX(CASE SUB.RANK WHEN 3 THEN AMT END) AS "3位 人数"
, SUM(SUB.AMT) AS 合計人数
FROM SUB
GROUP BY SUB.PF_CODE
ORDER BY 合計人数 DESC, 都道府県コード ASC
提出情報
提出日時 | 2022/07/21 10:20:52 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | maroniel |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 95 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
95 MB
データパターン2
AC
81 MB