コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
--頻出するので先に'100'に絞っておく
WITH FIX_RESULTS AS
(SELECT *
FROM TEST_RESULTS
WHERE TEST_ID = '100')
SELECT
USER_ID AS USER,
POINT AS PT,
/*
偏差値は次の手順で求められる。
A:点数の平均値を求める
B:個々の点数と平均値の差(個々の点数 - 平均値)を求める
C:分散(個々の点数と平均値の差の二乗の平均)を求める
D:標準偏差(分散の正の平方根)を求める
E:個々の点数と平均値との差に10を掛ける
F:個々の点数と平均値との差に10を掛けた値を標準偏差で割る
DEV_VAL:標準偏差で割った値に50を足して偏差値を求める
*/
/*
(SELECT AVG(POINT) FROM FIX_RESULTS) AS A,
--POINT - (SELECT CAST(AVG(POINT) AS NUMERIC) FROM FIX_RESULTS) AS B,
POINT - CAST(AVG(POINT) OVER(PARTITION BY TEST_ID) AS NUMERIC) AS B,
POWER(POINT - (SELECT AVG(POINT) FROM FIX_RESULTS),2) AS C1,
(SELECT AVG(POWER(POINT - (SELECT AVG(POINT) FROM FIX_RESULTS),2)) FROM TEST_RESULTS WHERE TEST_ID = '100') AS C2,
SQRT((SELECT AVG(POWER(POINT - (SELECT AVG(POINT) FROM FIX_RESULTS),2)) FROM FIX_RESULTS)) AS D,
10*(POINT - (SELECT AVG(POINT) FROM TEST_RESULTS)) AS E,
10*(POINT - (SELECT AVG(POINT) FROM TEST_RESULTS)) /
SQRT((SELECT AVG(POWER(POINT - (SELECT AVG(POINT) FROM FIX_RESULTS),2)) FROM FIX_RESULTS))
AS F,
*/
ROUND(
10*(POINT - (SELECT AVG(POINT) FROM FIX_RESULTS)) /
SQRT((SELECT AVG(POWER(POINT - (SELECT AVG(POINT) FROM FIX_RESULTS),2)) FROM FIX_RESULTS))
+50
,1)
AS DEV_VAL
FROM
FIX_RESULTS
WHERE TEST_ID = '100'
ORDER BY DEV_VAL DESC, USER_ID
;
提出情報
提出日時 | 2024/11/07 17:31:08 |
コンテスト | 第5回 SQLコンテスト |
問題 | 偏差値の算出 |
受験者 | yuta |
状態 (詳細) | WA (Wrong Answer: 誤答) |
メモリ使用量 | 85 MB |
メッセージ
テストケース(通過数/総数)
3/4
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
WA
84 MB
データパターン3
AC
84 MB
データパターン4
AC
85 MB