ソースコード
WITH MEAN AS (
    SELECT
        AVG(POINT) AS MEAN
    FROM
        TEST_RESULTS
    WHERE
        TEST_ID = '100'
),
STD AS (
    SELECT
        SQRT(
            AVG((POINT - MEAN.MEAN) * (POINT - MEAN.MEAN))
        )  AS STD
    FROM
        TEST_RESULTS
        CROSS JOIN MEAN
    WHERE
        TEST_ID = '100'
)

SELECT
    USER_ID AS 'USER',
    POINT AS 'PT',
    CASE
        WHEN STD = 0 THEN 50
        ELSE ROUND((CAST(POINT AS REAL) - MEAN) * 10 / STD + 50, 1)
    END AS 'DEV_VAL'
FROM
    TEST_RESULTS
    CROSS JOIN MEAN
    CROSS JOIN STD
WHERE
    TEST_ID = '100'
ORDER BY
    DEV_VAL DESC,
    USER_ID


提出情報
提出日時2023/06/10 14:53:02
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者mochilike
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量77 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
77 MB
データパターン2
AC
75 MB
データパターン3
AC
77 MB
データパターン4
AC
75 MB