ソースコード
SELECT
  USER_ID AS USER,
  POINT AS PT,
  CASE REF_TBL.P_SD
    WHEN 0 THEN 50.0
    ELSE ROUND((((POINT - REF_TBL.P_AVG) * 10) / REF_TBL.P_SD) + 50, 1)
  END AS DEV_VAL
FROM TEST_RESULTS
INNER JOIN 
(
SELECT
    P_AVG_TBL.P_AVG AS P_AVG,
    AVG(
      POW(P_AVG_TBL.P_AVG-POINT, 2)
    ) AS P_DSP,
    SQRT(
    AVG(
      POW(P_AVG_TBL.P_AVG-POINT, 2)
    )
    ) AS P_SD
FROM TEST_RESULTS
INNER JOIN 
  (SELECT 
    AVG(POINT) AS P_AVG
  FROM
    TEST_RESULTS
  WHERE
    TEST_ID = '100'
  ) AS P_AVG_TBL
WHERE
  TEST_ID = '100'
) REF_TBL
WHERE
  TEST_ID = '100'
ORDER BY DEV_VAL DESC, USER_ID ASC
提出情報
提出日時2023/02/19 20:31:31
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者shoko3168
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量91 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
91 MB
データパターン2
AC
81 MB
データパターン3
AC
80 MB
データパターン4
AC
91 MB