ソースコード
WITH TMP AS(
SELECT 
    USER_ID
    ,POINT
    ,AVG(POINT) OVER (PARTITION BY TEST_ID) AS KEI
    ,(POINT - AVG(POINT) OVER (PARTITION BY TEST_ID)) * (POINT - AVG(POINT) OVER (PARTITION BY TEST_ID)) AS A
FROM TEST_RESULTS
WHERE TEST_ID = '100' AND POINT IS NOT NULL
)
,COUNT_USER AS(
    SELECT
        COUNT(USER_ID) AS COUNT
    FROM TEST_RESULTS
    WHERE TEST_ID = '100' AND POINT IS NOT NULL
)
SELECT
    USER_ID AS USER
    ,POINT AS PT
    ,CASE
        WHEN SUM(A)OVER() = 0 THEN 50.0
        ELSE ROUND((POINT-KEI)/SQRT(SUM(A)OVER()/COUNT)*10+50, 1)
    END AS DEV_VAL
FROM TMP CROSS JOIN COUNT_USER
ORDER BY 3 DESC,1
提出情報
提出日時2023/02/17 16:30:23
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者mott
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量97 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
79 MB
データパターン2
AC
80 MB
データパターン3
AC
79 MB
データパターン4
AC
97 MB