ソースコード
with sub AS ( 
    select
        avg(point) AS average 
    from
        TEST_RESULTS 
    where
        TEST_ID = "100"
) 
, sub2 AS ( 
    select
        sqrt( 
            avg( 
                (tr.point - sub.average) * (tr.point - sub.average)
            )) as STANDARD_DEVIATION 
            from
                TEST_RESULTS as tr 
                cross join sub 
            where
                TEST_ID = "100"
        ) 
    select
        USER_ID as USER
        , POINT as PT
        , case 
            when STANDARD_DEVIATION != 0 
                then round( 
                ((point - average) * 10 / STANDARD_DEVIATION)
                , 1
            ) + 50 
            else 50 
            end as DEV_VAL 
    from
        TEST_RESULTS 
        cross join sub 
        cross join sub2 
    where
        TEST_ID = "100" 
    order by
        DEV_VAL desc
        , USER asc
提出情報
提出日時2024/11/05 10:14:41
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者kawano
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量85 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
83 MB
データパターン2
AC
84 MB
データパターン3
AC
84 MB
データパターン4
AC
85 MB