ソースコード
SELECT BASE.都道府県コード,
       BASE.都道府県名,
       MAX((CASE WHEN BASE.順位 = 1 THEN BASE.国名  ELSE '' END )) AS '1位 国名',
       SUM((CASE WHEN BASE.順位 = 1 THEN BASE.人数  ELSE '' END )) AS '1位 人数',
       MAX((CASE WHEN BASE.順位 = 2 THEN BASE.国名  ELSE '' END )) AS '2位 国名',
       SUM((CASE WHEN BASE.順位 = 2 THEN BASE.人数  ELSE '' END )) AS '2位 人数',
       MAX((CASE WHEN BASE.順位 = 3 THEN BASE.国名  ELSE '' END )) AS '3位 国名',
       SUM((CASE WHEN BASE.順位 = 3 THEN BASE.人数  ELSE '' END )) AS '3位 人数',
       SUM(BASE.人数) AS 合計人数
  FROM (SELECT F.PF_CODE AS 都道府県コード,
               P.PF_NAME AS 都道府県名,
               N.NATION_NAME AS 国名,
               SUM(F.AMT) AS 人数,
               ROW_NUMBER() OVER(PARTITION BY F.PF_CODE ORDER BY SUM(F.AMT) DESC, F.NATION_CODE) AS 順位
          FROM FOREIGNER F
          LEFT JOIN PREFECTURE P
            ON F.PF_CODE = P.PF_CODE
          LEFT JOIN NATIONALITY N
            ON F.NATION_CODE = N.NATION_CODE
         WHERE NOT F.NATION_CODE = '113'
         GROUP BY F.PF_CODE,
                  F.NATION_CODE
        ) BASE
 GROUP BY BASE.都道府県コード
 ORDER BY 合計人数 DESC,
          都道府県コード
提出情報
提出日時2023/07/25 11:24:58
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者test
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量83 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
83 MB
データパターン2
AC
80 MB