コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
WITH DATA_VAR AS(
WITH DATA_AVE AS(
SELECT
TEST_ID,
AVG(POINT) AS AVE,
COUNT(POINT) AS CNT
FROM
TEST_RESULTS
WHERE
TEST_ID = '100'
GROUP BY
TEST_ID
)
SELECT
TEST_RESULTS.TEST_ID,
AVE,
SUM((POINT - AVE) * (POINT - AVE) / CNT) AS VAR
FROM
TEST_RESULTS
INNER JOIN
DATA_AVE ON DATA_AVE.TEST_ID = TEST_RESULTS.TEST_ID
)
SELECT
USER_ID AS USER,
POINT AS PT,
ROUND(
CASE
WHEN VAR <= 0.000000001 THEN 50
ELSE 50 + (POINT - AVE) / SQRT(VAR) * 10
END
, 1) AS DEV_VAL
FROM
TEST_RESULTS
INNER JOIN
DATA_VAR ON DATA_VAR.TEST_ID = TEST_RESULTS.TEST_ID
ORDER BY
DEV_VAL DESC,
USER_ID ASC
提出情報
提出日時 | 2023/08/17 19:02:56 |
コンテスト | 第5回 SQLコンテスト |
問題 | 偏差値の算出 |
受験者 | tokusakurai |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 79 MB |
メッセージ
テストケース(通過数/総数)
4/4
状態
メモリ使用量
データパターン1
AC
78 MB
データパターン2
AC
78 MB
データパターン3
AC
79 MB
データパターン4
AC
78 MB