ソースコード

SELECT
  DISTINCT
  MAX(PF_CODE) AS '都道府県コード'
  ,MAX(PF_NAME) AS '都道府県名'
  ,MAX(CASE WHEN amt順 == 1 THEN NATION_NAME ELSE NULL END) AS '1位 国名'
  ,MAX(CASE WHEN amt順 == 1 THEN AMT ELSE NULL END) AS '1位 人数'
  ,MAX(CASE WHEN amt順 == 2 THEN NATION_NAME ELSE NULL END) AS '2位 国名'
  ,MAX(CASE WHEN amt順 == 2 THEN AMT ELSE NULL END) AS '2位 人数'
  ,MAX(CASE WHEN amt順 == 3 THEN NATION_NAME ELSE NULL END) AS '3位 国名'
  ,MAX(CASE WHEN amt順 == 3 THEN AMT ELSE NULL END) AS '3位 人数'
  ,SUM(AMT) AS '合計人数'
FROM(
  SELECT
    T3.PF_NAME
    ,T1.PF_CODE
    ,T2.NATION_NAME
    ,AMT
    ,ROW_NUMBER() OVER(PARTITION BY T3.PF_CODE ORDER BY AMT DESC) AS 'amt順'
  FROM
    FOREIGNER T1
    LEFT JOIN NATIONALITY T2 ON T1.NATION_CODE = T2.NATION_CODE
    LEFT JOIN PREFECTURE T3 ON T1.PF_CODE = T3.PF_CODE
  WHERE
    T1.NATION_CODE <> '113'
  )
GROUP BY
  PF_CODE
ORDER BY
  SUM(AMT) DESC
  ,PF_CODE ASC
;
提出情報
提出日時2022/07/20 20:20:48
コンテスト第1回 SQLコンテスト
問題外国籍分布
受験者uma_uma
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量101 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
101 MB
データパターン2
AC
94 MB