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