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