コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
WITH cte_00 AS (
select
T_F.PF_CODE as 都道府県コード
,T_P.PF_NAME as 都道府県名
,T_N.NATION_NAME as 国籍名
,T_F.AMT as 人数
,row_number() over (partition by T_F.PF_CODE order by T_F.AMT desc) as rank
from FOREIGNER T_F
,PREFECTURE T_P
,NATIONALITY T_N
where T_F.PF_CODE = T_P.PF_CODE
and T_F.NATION_CODE = T_N.NATION_CODE
and T_F.NATION_CODE != '113'),
cte_01 AS (
select
都道府県コード
,都道府県名
,国籍名
,人数
from cte_00
where rank = 1),
cte_02 AS (
select
都道府県コード
,都道府県名
,国籍名
,人数
from cte_00
where rank = 2),
cte_03 AS (
select
都道府県コード
,都道府県名
,国籍名
,人数
from cte_00
where rank = 3),
cte_99 AS (
select
T_F.PF_CODE as 都道府県コード
,T_P.PF_NAME as 都道府県名
,SUM(T_F.AMT) as 合計人数
from FOREIGNER T_F
,PREFECTURE T_P
,NATIONALITY T_N
where T_F.PF_CODE = T_P.PF_CODE
and T_F.NATION_CODE = T_N.NATION_CODE
and T_F.NATION_CODE != '113'
group by T_F.PF_CODE
,T_P.PF_NAME)
select cte_99.都道府県コード
,cte_99.都道府県名
,cte_01.国籍名 AS "1位 国名"
,cte_01.人数 AS "1位 人数"
,cte_02.国籍名 AS "2位 国名"
,cte_02.人数 AS "2位 人数"
,cte_03.国籍名 AS "3位 国名"
,cte_03.人数 AS "3位 人数"
,cte_99.合計人数
from cte_01
,cte_02
,cte_03
,cte_99
where cte_99.都道府県コード = cte_01.都道府県コード
and cte_99.都道府県コード = cte_02.都道府県コード
and cte_99.都道府県コード = cte_03.都道府県コード
order by cte_99.合計人数 desc
,cte_99.都道府県コード;
提出情報
提出日時 | 2023/11/30 10:45:43 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | ikejiri-makoto |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 89 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
89 MB
データパターン2
AC
85 MB