ソースコード
select
    s1.港コード, 
    s1.港名, 
    s1.SUM_AMT as 入国者数, 
    s2.SUM_AMT as 出国者数, 
    s1.SUM_AMT - s2.SUM_AMT as 差分
from
(
    select
        imm.PORT_CODE as 港コード, 
        por.PORT_NAME as 港名, 
        sum(AMT) as SUM_AMT
        -- 外国人入国者のAMT → 入国者数
        -- 外国人出国者のAMT → 出国者数
        -- 外国人入国者のAMT - 外国人出国者のAMTの計算結果 → 差分
    from
        IMMIGRATION as imm
    join
        PORT as por
        on
            imm.PORT_CODE = por.PORT_CODE
    where
        GROUP_CODE = 120
        and
        KIND_CODE = 110
    group by
        imm.PORT_CODE, 
        KIND_CODE
    order by
        港コード desc
) as s1
inner join
(
    select
        imm.PORT_CODE as 港コード, 
        por.PORT_NAME as 港名, 
        sum(AMT) as SUM_AMT
        -- 外国人入国者のAMT → 入国者数
        -- 外国人出国者のAMT → 出国者数
        -- 外国人入国者のAMT - 外国人出国者のAMTの計算結果 → 差分
    from
        IMMIGRATION as imm
    join
        PORT as por
        on
            imm.PORT_CODE = por.PORT_CODE
    where
        GROUP_CODE = 120
        and
        KIND_CODE = 120
    group by
        imm.PORT_CODE, 
        KIND_CODE
    order by
        港コード desc
) as s2
on
    s1.港コード = s2.港コード
where
    差分 > 0
order by
    差分 desc, 
    s1.港コード desc
;
提出情報
提出日時2022/07/20 21:49:33
コンテスト第1回 SQLコンテスト
問題港入出国者分析
受験者Johann
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量56 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
45 MB
データパターン2
AC
56 MB