ソースコード
/*
問題
港毎に出入国者の人数を集計した出入国集計データより、外国人の入国者が出国者より多い港を抽出しなさい。 種別コードは、'110'(入国者) 、'120'(出国者)となる。
表示項目は以下とする。(エイリアスを使用し→の項目名とする)
PORT_CODE → 港コード
PORT_NAME → 港名
外国人入国者のAMT → 入国者数
外国人出国者のAMT → 出国者数
外国人入国者のAMT - 外国人出国者のAMTの計算結果 → 差分
表示順
差分の降順
港コードの降順
*/
select
    PORT_CODE as 港コード
    , PORT_NAME as 港名
    , sum(case when KIND_CODE = 110 then AMT else 0 end) as 入国者数
    , sum(case when KIND_CODE = 120 then AMT else 0 end) as 出国者数
    , sum(case when KIND_CODE = 110 then AMT else 0 end) - sum(case when KIND_CODE = 120 then AMT else 0 end) as 差分
from IMMIGRATION
left join PORT
    using(PORT_CODE)
where
    GROUP_CODE = 120
group by 1
having
    sum(case when KIND_CODE = 110 then AMT else 0 end) - sum(case when KIND_CODE = 120 then AMT else 0 end) > 0
order by 5 desc, 1 desc
提出情報
提出日時2022/07/20 21:23:20
コンテスト第1回 SQLコンテスト
問題港入出国者分析
受験者uta_fksw
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量102 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
79 MB
データパターン2
AC
102 MB