コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
with
sub as (
select
PF_CODE
,NATION_CODE
,AMT
,RANK() OVER(PARTITION BY PF_CODE ORDER BY AMT DESC, NATION_CODE) AS ranking
from FOREIGNER
where NATION_CODE != '113'
group by NATION_CODE,PF_CODE
--order by PF_CODE,NATION_CODE
)
,sum_amt as (
select
PF_CODE
,SUM(AMT) as AMT
from FOREIGNER
where NATION_CODE != '113'
group by PF_CODE
)
select
sub.PF_CODE as 都道府県コード
,PREFECTURE.PF_NAME as 都道府県名
,MAX(CASE sub.ranking WHEN 1 THEN NATIONALITY.NATION_NAME ELSE NULL END) as "1位 国名"
,MAX(CASE sub.ranking WHEN 1 THEN sub.AMT ELSE 0 END) as "1位 人数"
,MAX(CASE sub.ranking WHEN 2 THEN NATIONALITY.NATION_NAME ELSE NULL END) as "2位 国名"
,MAX(CASE sub.ranking WHEN 2 THEN sub.AMT ELSE 0 END) as "2位 人数"
,MAX(CASE sub.ranking WHEN 3 THEN NATIONALITY.NATION_NAME ELSE NULL END) as "3位 国名"
,MAX(CASE sub.ranking WHEN 3 THEN sub.AMT ELSE 0 END) as "3位 人数"
,sum_amt.AMT as 合計人数
from
sub
inner join PREFECTURE
on sub.PF_CODE = PREFECTURE.PF_CODE
inner join NATIONALITY
on sub.NATION_CODE = NATIONALITY.NATION_CODE
left outer join sum_amt
on sub.PF_CODE = sum_amt.PF_CODE
group by 都道府県コード
order by
合計人数 desc
,都道府県コード asc
提出情報
提出日時 | 2024/12/03 14:56:40 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | ZZPBAA79 |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 108 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
107 MB
データパターン2
AC
108 MB