ソースコード
WITH
AVG_SCORE AS (
    SELECT AVG(POINT) AS AVG_SCORE
    FROM TEST_RESULTS
    WHERE TEST_ID = '100'
)
, STDEV AS (
    SELECT SQRT(AVG((POINT - (SELECT AVG_SCORE FROM AVG_SCORE))*(POINT - (SELECT AVG_SCORE FROM AVG_SCORE)))) AS STDEV
    FROM TEST_RESULTS
    WHERE TEST_ID = '100'
)
SELECT
    USER_ID AS USER
    ,POINT AS PT
    ,CASE
        WHEN STDEV = 0
            THEN 50
        ELSE
            ROUND(50 + (POINT - AVG_SCORE.AVG_SCORE)*10/STDEV,1)
    END AS DEV_VAL
FROM TEST_RESULTS
CORSS JOIN STDEV
CORSS JOIN AVG_SCORE
WHERE TEST_ID = '100'
ORDER BY
    DEV_VAL DESC
    ,USER ASC
提出情報
提出日時2023/02/25 20:22:48
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者Apolo_cr
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量78 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
78 MB
データパターン2
AC
77 MB
データパターン3
AC
78 MB
データパターン4
AC
78 MB