ソースコード
WITH
    AVE AS (
        SELECT
            AVG(POINT) AS AVERAGE
        FROM
            TEST_RESULTS
        WHERE
            TEST_ID = '100'
    ),
    SD AS (
        SELECT
            SQRT(
                AVG((POINT - AVE.AVERAGE) * (POINT - AVE.AVERAGE))
            ) AS STANDARD_DEVIATION
        FROM
            TEST_RESULTS
            CROSS JOIN AVE
        WHERE
            TEST_ID = '100'
    )
SELECT
    USER_ID AS USER,
    POINT AS PT,
    CASE
        WHEN SD.STANDARD_DEVIATION <> 0 THEN ROUND(
            (((POINT - AVERAGE) * 10) / STANDARD_DEVIATION),
            1
        ) + 50
        ELSE 50
    END AS DEV_VAL
FROM
    TEST_RESULTS
    CROSS JOIN AVE
    CROSS JOIN SD
WHERE
    TEST_ID = '100'
ORDER BY
    PT DESC,
    USER ASC;
提出情報
提出日時2024/06/12 14:23:49
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者kwm_t
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量83 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
83 MB
データパターン2
AC
83 MB
データパターン3
AC
83 MB
データパターン4
AC
83 MB