ソースコード
WITH 
NumberedValues AS (
    SELECT
        TOTAL_VALUE,
        ROW_NUMBER() OVER (ORDER BY TOTAL_VALUE) AS rn,
        COUNT(*) OVER () AS total_count
    FROM
        CONVENIENCE
    WHERE
        SURVEY_YEAR = 2019
        AND KIND_CODE = '100'
),
MedianValues AS (
    SELECT
        TOTAL_VALUE
    FROM
        NumberedValues
    WHERE
        (total_count % 2 = 1 AND rn = (total_count + 1) / 2)  -- 奇数の場合の中央の値
        OR 
        (total_count % 2 = 0 AND (rn = total_count / 2 OR rn = total_count / 2 + 1))  -- 偶数の場合の中央の2つの値
)
SELECT
    ROUND(AVG(TOTAL_VALUE), 0) AS SA_MEDIAN
FROM
    MedianValues;
提出情報
提出日時2024/08/16 21:32:48
コンテスト第4回 SQLコンテスト
問題中央値の算出
受験者choy9
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量84 MB
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
83 MB
データパターン2
AC
84 MB
データパターン3
AC
84 MB