ソースコード
WITH TMP AS (
    SELECT
        TOTAL_VALUE,
        RANK() OVER(
            ORDER BY
                TOTAL_VALUE DESC
        ) AS RANK
    FROM
        CONVENIENCE
    WHERE
        SURVEY_YEAR = '2019'
        AND KIND_CODE = '100'
)
SELECT
    SA_MEDIAN
FROM
    (
        SELECT
            CASE
                TOTAL_VALUE
                WHEN (
                    (
                        SELECT
                            COUNT(*)
                        FROM
                            TMP
                    ) % 2
                ) = 0 THEN (
                    SELECT
                        ROUND(
                            (
                                (SELECT TOTAL_VALUE TMP WHERE RANK = ((
                                    SELECT
                                        COUNT(*)
                                    FROM
                                        TMP
                                ) / 2)) 
                                + 
                                (SELECT TOTAL_VALUE TMP WHERE RANK = ((
                                    SELECT
                                        COUNT(*)
                                    FROM
                                        TMP
                                ) / (2 -1))
                                )
                            ) / 2
                        )
                    FROM
                        TMP
                    WHERE
                        RANK IN (
                            (
                                SELECT
                                    COUNT(*)
                                FROM
                                    TMP
                            ) / 2,
                            (
                                SELECT
                                    COUNT(*)
                                FROM
                                    TMP
                            ) / 2 - 1
                        )
                )
                ELSE(
                    SELECT
                        TOTAL_VALUE
                    FROM
                        TMP
                    WHERE
                        RANK = (
                            (
                                SELECT
                                    COUNT(*)
                                FROM
                                    TMP
                            ) / 2
                        )
                )
            END AS SA_MEDIAN
        FROM
            TMP
    )
LIMIT
    1;
提出情報
提出日時2022/12/12 08:23:02
コンテスト第4回 SQLコンテスト
問題中央値の算出
受験者ny1030
状態 (詳細)WA
(Wrong Answer: 誤答)
メモリ使用量79 MB
メッセージ
テストケース(通過数/総数)
0/3
状態
メモリ使用量
データパターン1
WA
78 MB
データパターン2
WA
79 MB
データパターン3
WA
78 MB