ソースコード
/*
問題

都道府県毎にコンビニエンスストアの情報を集計したコンビニエンステーブル(CONVENIENCE)より、調査年(SURVEY_YEAR)が2019年の販売額(TOTAL_VALUE)の中央値を求めなさい。ただし、種別コード(KIND_CODE)が'100' (販売額)のデータを対象とする。また、対象データが1件以上存在すること、および、販売額の値は存在することが保証されている。

中央値(median)とは、データを大きい順に並べた時の中央の値を指す。データの件数が偶数の場合は、中央の2つの値の平均値を中央値とする。また、求めた中央値の小数点以下は四捨五入すること。

表示項目は以下とする。(エイリアスを使用し→の項目名とする)

    取得した中央値 → SA_MEDIAN
*/

with t as(
    select
        row_number() over (order by total_value desc) as r_nbr,
        *
    from convenience
    where survey_year = 2019 and kind_code = 100
    order by row_number() over (order by total_value desc)),
    fs_r as (
    select
        max(r_nbr) / 2 as f_r,
        case when mod(max(r_nbr),2) = 0 then 1 + max(r_nbr) / 2
        else max(r_nbr) / 2 end as s_r
    from t)
    
select
    cast(round(sum(cast(total_value as numeric)) / 2.0, 0) as integer) as SA_MEDIAN
from t as a
inner join fs_r as b
on a.r_nbr in(b.f_r, b.s_r);
提出情報
提出日時2022/12/10 13:11:48
コンテスト第4回 SQLコンテスト
問題中央値の算出
受験者miotsukushi0800
状態 (詳細)WA
(Wrong Answer: 誤答)
メモリ使用量79 MB
メッセージ
テストケース(通過数/総数)
2/3
状態
メモリ使用量
データパターン1
AC
79 MB
データパターン2
AC
77 MB
データパターン3
WA
78 MB