ソースコード
WITH avg_all AS(
SELECT
AVG(POINT) AS avg_all
FROM
TEST_RESULTS
WHERE TEST_ID = '100'),
--分散取得
variance AS
(SELECT 
USER_ID,
SQRT(AVG(POWER(POINT - avg_all,2))) AS variance
FROM
TEST_RESULTS, avg_all
WHERE TEST_ID = '100')
SELECT
t1.USER_ID AS USER,
t1.POINT AS PT,
CASE WHEN
variance <> 0 THEN
ROUND(((POINT - avg_all)*10/variance)+50, 1)
ELSE 50
END AS DEV_VAL
FROM
TEST_RESULTS t1,
avg_all t2,
variance t3
WHERE TEST_ID = '100'
ORDER BY DEV_VAL DESC,
USER ASC;
提出情報
提出日時2024/07/03 11:19:52
コンテスト第5回 SQLコンテスト
問題偏差値の算出
受験者h_Okitsu
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量89 MB
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
89 MB
データパターン2
AC
84 MB
データパターン3
AC
84 MB
データパターン4
AC
89 MB