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