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