ソースコード
WITH SUB AS (
  SELECT
    AVG(POINT) AS AVE
  FROM
    TEST_RESULTS
  WHERE
   TEST_ID = '100'
),SUB2 AS(
  SELECT
    SQRT(AVG(POW(A.POINT - B.AVE,2))) AS HH
  FROM
  TEST_RESULTS A
  CROSS JOIN
  SUB B
  WHERE
  TEST_ID = '100'
)
SELECT
A.USER_ID AS USER
,A.POINT AS PT
,CASE 
  WHEN C.HH = 0
    THEN 50
  ELSE
   ROUND((((A.POINT - B.AVE) * 10) / C.HH) + 50,1)
END AS DEV_VAL 
FROM
TEST_RESULTS A
CROSS JOIN SUB B
CROSS JOIN SUB2 C
WHERE
TEST_ID = '100'
ORDER BY
DEV_VAL DESC
,USER ASC
;
提出情報
提出日時2023/04/29 14:58:45
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者masashi_sql
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量78 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
77 MB
データパターン2
AC
77 MB
データパターン3
AC
78 MB
データパターン4
AC
77 MB