ソースコード
WITH AVE_TEST AS (
  SELECT
    AVG(POINT) AS AVE
  FROM
    TEST_RESULTS
  WHERE
    TEST_ID = '100'
)
, STDEV_TEST AS (
  SELECT
    SQRT(SUM(POW(POINT - (SELECT AVE FROM AVE_TEST), 2)) / COUNT(*)) AS STDEV
  FROM
    TEST_RESULTS
  WHERE TEST_ID = '100'
)
SELECT
  USER_ID AS USER,
  POINT AS PT,
  CASE WHEN (SELECT STDEV FROM STDEV_TEST) = 0 THEN 50
       ELSE ROUND(((POINT - (SELECT AVE_TEST.AVE FROM AVE_TEST)) * 10.0 / (SELECT STDEV FROM STDEV_TEST)) + 50, 1) 
       END AS DEV_VAL
FROM
  TEST_RESULTS
WHERE
  TEST_ID = '100'
ORDER BY
  DEV_VAL DESC, USER_ID;
提出情報
提出日時2024/04/08 21:14:58
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者tmatsu
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量85 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
AC
84 MB
データパターン3
AC
85 MB
データパターン4
AC
84 MB