コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
WITH SUB AS (
-- 1.点数の平均値を算出
SELECT
AVG(POINT) AS AVERAGE
FROM
TEST_RESULTS
WHERE
TEST_ID = '100'
)
, SUB2 AS (
SELECT
-- 4.標準偏差(分散の平方根)を求める
SQRT(
-- 3.二乗の平均(分散)を求める
AVG(
-- 2.個々の点数と平均値の差の二乗を求める
(T.POINT - SUB.AVERAGE) * (T.POINT - SUB.AVERAGE)
)
) AS STANDARD_DEVIATION
FROM
TEST_RESULTS AS T
-- 求めた平均値を交差結合し計算に使用する
CROSS JOIN SUB
WHERE
TEST_ID = '100'
)
SELECT
USER_ID AS USER
, POINT AS PT
, CASE
WHEN STANDARD_DEVIATION <> 0
THEN ROUND(
-- 5.個々の点数と平均値の差に10を掛ける
-- 6.上記の値を標準偏差で割る
(((POINT - AVERAGE) * 10) / STANDARD_DEVIATION)
, 1
-- 7.標準偏差で割った値に50を足す
) + 50
-- 標準偏差が0の場合は一律で偏差値は50となる
ELSE 50
END AS DEV_VAL
FROM
TEST_RESULTS
CROSS JOIN SUB
CROSS JOIN SUB2
WHERE
TEST_ID = '100'
ORDER BY
DEV_VAL DESC
, USER_ID ASC;
提出情報
提出日時 | 2023/02/10 10:57:15 |
コンテスト | 第5回 SQLコンテスト |
問題 | 偏差値の算出 |
受験者 | admin |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 78 MB |
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
75 MB
データパターン2
AC
78 MB
データパターン3
AC
77 MB
データパターン4
AC
78 MB