ソースコード
WITH T AS (
    SELECT *
    FROM TEST_RESULTS
    WHERE TEST_ID = '100'
),
AVG_TABLE AS (
    SELECT AVG(POINT) AS AVERAGE FROM T
),
SD AS (
    SELECT SQRT(AVG((POINT - AVERAGE) * (POINT - AVERAGE))) AS SD
    FROM T CROSS JOIN AVG_TABLE
)

SELECT USER_ID AS USER, POINT AS PT,
    CASE
        WHEN SD <> 0 THEN ROUND((1.0 * POINT - AVERAGE) * 10 / SD + 50, 1)
        ELSE 50
    END AS DEV_VAL
FROM T CROSS JOIN AVG_TABLE CROSS JOIN SD
ORDER BY DEV_VAL DESC, USER_ID
提出情報
提出日時2023/09/22 08:26:43
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者Haar
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量76 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
75 MB
データパターン2
AC
75 MB
データパターン3
AC
76 MB
データパターン4
AC
75 MB