ソースコード
WITH TOP_CO AS (
  SELECT PF_CODE
    , NATION_NAME
    , AMT
    , RANK() OVER(
      PARTITION BY PF_CODE
      ORDER BY AMT DESC, NATION_CODE
    ) AS AMT_RANK
    FROM FOREIGNER
    JOIN NATIONALITY USING(NATION_CODE)
    WHERE NATION_CODE != '113'
  )
SELECT PF_CODE AS '都道府県コード'
  , PF_NAME AS '都道府県名'
  , MAX(CASE AMT_RANK WHEN 1 THEN NATION_NAME ELSE NULL END) AS '1位 国名'
  , MAX(CASE AMT_RANK WHEN 1 THEN AMT ELSE NULL END) AS '1位 人数'
  , MAX(CASE AMT_RANK WHEN 2 THEN NATION_NAME ELSE NULL END) AS '2位 国名'
  , MAX(CASE AMT_RANK WHEN 2 THEN AMT ELSE NULL END) AS '2位 人数'
  , MAX(CASE AMT_RANK WHEN 3 THEN NATION_NAME ELSE NULL END) AS '3位 国名'
  , MAX(CASE AMT_RANK WHEN 3 THEN AMT ELSE NULL END) AS '3位 人数'
  , SUM(AMT) AS '合計人数'
FROM TOP_CO
JOIN PREFECTURE USING(PF_CODE)
GROUP BY PF_CODE, PF_NAME
ORDER BY 9 DESC, 1 ;
提出情報
提出日時2023/02/16 01:48:06
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者marronnier
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量81 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
81 MB
データパターン2
AC
77 MB