ソースコード
-- PORT_CODE → 港コード
-- PORT_NAME → 港名
-- 外国人入国者のAMT → 入国者数
-- 外国人出国者のAMT → 出国者数
-- 外国人入国者のAMT - 外国人出国者のAMTの計算結果 → 差分

-- 差分の降順
-- 港コードの降順

SELECT
    PT.PORT_CODE AS 港コード,
    PT.PORT_NAME AS 港名,
    SUM(CASE WHEN IG.KIND_CODE = 110 THEN IG.AMT ELSE 0 END) AS 入国者数, -- 外国人入国者のAMT
    SUM(CASE WHEN IG.KIND_CODE = 120 THEN IG.AMT ELSE 0 END) AS 出国者数, -- 外国人e出国者のAMT
    SUM(CASE WHEN IG.KIND_CODE = 110 THEN IG.AMT ELSE 0 END) - SUM(CASE WHEN IG.KIND_CODE = 120 THEN IG.AMT ELSE 0 END) AS 差分
FROM IMMIGRATION AS IG
INNER JOIN PORT AS PT ON PT.PORT_CODE = IG.PORT_CODE
INNER JOIN GRP ON GRP.GROUP_CODE = IG.GROUP_CODE
    AND GRP.GROUP_NAME = '外国人'
WHERE IG.KIND_CODE IN(110, 120)
GROUP BY IG.PORT_CODE
HAVING 差分 > 0
ORDER BY 差分 DESC, 港コード DESC
提出情報
提出日時2023/04/22 11:25:43
コンテスト第1回 SQLコンテスト
問題港入出国者分析
受験者nkmth
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量82 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
82 MB
データパターン2
AC
75 MB