/*
시나리오
철수는 수학점수를 90점 받았고, 수학과목의 전체 평균은 85점이다.
표준편차는 5이다. 국어는 85점을 받았으며, 국어과목의 전체 평균은 70점이다.
국어과목의 표준편차는 10이다. 어떤 과목의 성적이 더 우수한가?
*/
WITH Dumy(x)
AS
(
SELECT 0 x
UNION ALL
SELECT x + 1 FROM Dumy
WHERE x + 1 <= 100.0
)
SELECT
과목
, (1 - SUM((1/(SQRT(2*PI())*표준편차)) * EXP(-(1/(2*POWER(표준편차,2))) * POWER((x-평균), 2)))) * 100 [상위%]
FROM (
SELECT '수학' 과목, 90.0 점수, 85.0 평균, 5.0 표준편차
UNION ALL
SELECT '국어' 과목, 85.0 점수, 70.0 평균, 10.0 표준편차) A CROSS JOIN Dumy
WHERE x <= 점수
GROUP BY 과목
OPTION (MAXRECURSION 0);
/*
결과
과목 상위%
------- ----------------
국어 6.04932387024276
수학 13.5265829069615
국어는 상위 6.04% 이고, 수학은 13.52%이므로 국어의 성적이 더 우수하다.
*/
/*
DECLARE
@x float -- 변량
, @mu float -- 평균
, @sigma float -- 표준편차
SET @x = 90
SET @mu = 85
SET @sigma = 5;
--SELECT (1/(SQRT(2*PI())*@sigma)) * EXP(-(1/(2*POWER(@sigma,2))) * POWER((@x-@mu), 2)) 확률밀도함수
WITH Dumy(x)
AS
(
SELECT 0 x
UNION ALL
SELECT x + 1 FROM Dumy
WHERE x + 1 <= 90.0
)
--누적정규분포
SELECT SUM((1/(SQRT(2*PI())*@sigma)) * EXP(-(1/(2*POWER(@sigma,2))) * POWER((x-@mu), 2)))
FROM Dumy
OPTION (MAXRECURSION 0);
*/