ソースコード
WITH heikin AS (-- 平均値
    SELECT
    AVG(POINT) AS AVG
FROM
    TEST_RESULTS
WHERE
    TEST_ID = '100'
    )
,
hensa AS (--偏差値
    SELECT
        SQRT(
            AVG(
                (TR.POINT - heikin.AVG) * (TR.POINT - heikin.AVG)
            )
        ) AS SUBQhensa
    FROM
        TEST_RESULTS AS TR
    CROSS JOIN
        heikin
    WHERE
        TEST_ID = '100'
    )

SELECT
    USER_ID AS USER
    ,POINT AS PT
    ,CASE WHEN SUBQhensa <> 0
          THEN ROUND((((POINT - AVG) * 10) / SUBQhensa), 1) + 50
          ELSE 50
          END AS DEV_VAL
FROM
    TEST_RESULTS
CROSS JOIN
    heikin
CROSS JOIN
    hensa
WHERE
    TEST_ID = '100'
ORDER BY
    DEV_VAL DESC
    ,USER ASC;
提出情報
提出日時2025/01/14 14:02:31
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者fffhiro
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量86 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
AC
84 MB
データパターン3
AC
85 MB
データパターン4
AC
86 MB