コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
--都道府県に在住している外国籍の人数を集計した外国人データから、
--各都道府県で人数が多い国のベスト3を表示
SELECT
tbl4.PF_CODE AS 都道府県コード
,tbl4.PF_NAME AS 都道府県名
,MAX(CASE WHEN tbl4.rank = 1 THEN tbl4.NATION_NAME ELSE NULL END) AS "1位 国名"
,SUM(CASE WHEN tbl4.rank = 1 THEN tbl4.AMT ELSE 0 END) AS "1位 人数"
,MAX(CASE WHEN tbl4.rank = 2 THEN tbl4.NATION_NAME ELSE NULL END) AS "2位 国名"
,SUM(CASE WHEN tbl4.rank = 2 THEN tbl4.AMT ELSE 0 END) AS "2位 人数"
,MAX(CASE WHEN tbl4.rank = 3 THEN tbl4.NATION_NAME ELSE NULL END) AS "3位 国名"
,SUM(CASE WHEN tbl4.rank = 3 THEN tbl4.AMT ELSE 0 END) AS "3位 人数"
,SUM(AMT) AS 合計人数
FROM
(SELECT
tbl1.PF_CODE
,tbl3.PF_NAME
,tbl2.NATION_NAME
,tbl1.AMT
,rank() over(partition by tbl1.PF_CODE order by tbl1.AMT desc, tbl2.NATION_CODE) AS rank
FROM
FOREIGNER tbl1
INNER JOIN
NATIONALITY tbl2
ON
tbl1.NATION_CODE = tbl2.NATION_CODE
INNER JOIN
PREFECTURE tbl3
ON
tbl1.PF_CODE = tbl3.PF_CODE
AND
tbl1.NATION_CODE != '113') AS tbl4
GROUP BY
tbl4.PF_CODE
,tbl4.PF_NAME
ORDER BY
合計人数 DESC
,都道府県コード
提出情報
提出日時 | 2023/07/12 13:14:37 |
コンテスト | 第1回 SQLコンテスト |
問題 | 外国籍分布 |
受験者 | ykkn_2525 |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 79 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
79 MB
データパターン2
AC
78 MB