ソースコード
with AVERAGE AS
(
    SELECT
    平均,
    SQRT(AVG(pow(POINT - 平均,2))) AS 標準偏差
    FROM
    TEST_RESULTS
    CROSS JOIN
    (
        SELECT
        AVG(POINT) AS 平均
        FROM
        TEST_RESULTS
        WHERE
        TEST_ID = '100' 
    )
    WHERE
    TEST_ID = '100'
    
)
SELECT 
USER_ID AS USER,
POINT AS PT,
CASE
WHEN AVERAGE.標準偏差 <> 0 THEN ROUND((((POINT - 平均)*10)/AVERAGE.標準偏差),1) + 50
ELSE
50
END AS DEV_VAL 
FROM
TEST_RESULTS
CROSS JOIN AVERAGE
WHERE
TEST_RESULTS.TEST_ID = '100' 
ORDER BY DEV_VAL  DESC,USER_ID ASC
提出情報
提出日時2023/08/01 09:39:24
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者korogu
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量79 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
75 MB
データパターン2
AC
79 MB
データパターン3
AC
75 MB
データパターン4
AC
79 MB