ソースコード
WITH order_t AS(
    SELECT
        SURVEY_YEAR
        , PF_CODE
        , KIND_CODE
        , TOTAL_VALUE
        , ROW_NUMBER() OVER (ORDER BY TOTAL_VALUE DESC) AS row_id
        , COUNT(*) OVER () AS ct
    FROM
        CONVENIENCE
    WHERE
        SURVEY_YEAR = 2019
        AND KIND_CODE = '100'
    GROUP BY 1,2,3,4
)
SELECT DISTINCT
    CASE
        WHEN (MOD(ct, 2) = 0)
            THEN (
                SELECT
                    ROUND(AVG(TOTAL_VALUE)) AS SA_MEDIAN
                FROM
                    order_t
                WHERE
                    row_id BETWEEN ct/2.0 and ct/2.0 + 1
            )
        ELSE( 
            SELECT
                ROUND(TOTAL_VALUE) AS SA_MEDIAN
            FROM
                order_t
            WHERE
                row_id = ROUND(ct/2.0)
            )
    END AS SA_MEDIAN
FROM
    order_t;
    
提出情報
提出日時2024/04/18 22:52:55
コンテスト第4回 SQLコンテスト
問題中央値の算出
受験者1qaz2wsx3edc4rfv
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量84 MB
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
AC
83 MB
データパターン3
AC
84 MB