ソースコード
-- 港毎に出入国者の人数を集計した出入国集計データより、外国人の入国者が出国者より多い港を抽出しなさい。 種別コードは、'110'(入国者) 、'120'(出国者)となる。
-- 表示項目は以下とする。(エイリアスを使用し→の項目名とする)
-- PORT_CODE → 港コード
-- PORT_NAME → 港名
-- 外国人入国者のAMT → 入国者数
-- 外国人出国者のAMT → 出国者数
-- 外国人入国者のAMT - 外国人出国者のAMTの計算結果 → 差分
-- 表示順
-- 差分の降順
-- 港コードの降順
SELECT
    p.PORT_CODE AS "港コード",
    p.PORT_NAME AS "港名",
    IFNULL(SUM(pi.AMT), 0) AS "入国者数",
    IFNULL(SUM(po.AMT), 0) AS "出国者数",
    IFNULL(SUM(pi.AMT), 0) - IFNULL(SUM(po.AMT), 0) AS "差分"
FROM
    PORT AS p
    LEFT JOIN IMMIGRATION AS pi
        ON p.PORT_CODE = pi.PORT_CODE
            AND pi.KIND_CODE = "110" --出国
            AND pi.GROUP_CODE = "120" --外国人
    LEFT JOIN IMMIGRATION AS po
        ON po.PORT_CODE = p.PORT_CODE
            AND po.KIND_CODE = "120" --出国
            AND po.GROUP_CODE = "120" --外国人
GROUP BY
    1,2 
ORDER BY
    差分 DESC,
    港コード DESC
提出情報
提出日時2022/07/20 17:55:22
コンテスト第1回 SQLコンテスト
問題港入出国者分析
受験者j.k
状態 (詳細)WA
(Wrong Answer: 誤答)
メモリ使用量105 MB
メッセージ
テストケース(通過数/総数)
0/2
状態
メモリ使用量
データパターン1
WA
105 MB
データパターン2
WA
104 MB