카테고리:

데이터 생성 함수

NORMAL

지정된 meanstddev 를 사용하여 정규 분포 부동 소수점 수를 반환합니다.

이 함수는 유사한 RANDOM 함수와 관련이 있지만 다릅니다.

  • RAND 를 많은 횟수로 호출하는 경우, 결과는 가능한 값의 범위에 다소 고르게 분포됩니다. 예를 들어, 1000에서 2000 사이의 값이 있는 결과의 수는 2000에서 3000 사이의 값의 수와 유사합니다.

  • NORMAL 을 많은 횟수로 호출하는 경우, 결과 분포는 《정규》 곡선(때로는 《종 모양 곡선》이라고도 함)에 가까워질 수 있습니다. 곡선의 중심과 곡선의 《폭》은 meanstddev 매개 변수의 영향을 받습니다. 지정된 평균에 가까운 값은 평균에서 멀리 떨어진 값보다 발생 가능성이 더 큽니다.

구문

NORMAL( <mean> , <stddev> , <gen> )

인자

mean

이는 사용자가 출력 값의 중심으로 두려는 값입니다.

stddev

이는 하나의 표준 편차의 너비를 지정합니다. 예를 들어, 평균 0.0과 표준 편차 1.0을 선택하고 이 함수를 여러 번 호출하는 경우, 반환된 값의 약 68.2%가 -1.0과 +1.0 사이(즉, 평균의 1 표준 편차 이내)가 됩니다.

유사하게, 평균 5.0과 표준 편차 2를 선택하는 경우, 값의 약 68.2%가 3.0과 7.0 사이가 됩니다.

gen

이는 함수에 대한 생성기 식을 지정합니다. 자세한 내용은 사용법 노트 섹션을 참조하십시오.

사용법 노트

호출 수가 증가함에 따라, 누적된 결과는 gen 함수가 균등하게 분포된 값을 생성한다고 가정할 때, 진정한 《정규》 분포에 더 가까운 경향이 있습니다.

이는 평균이 0이고 표준 편차가 1인 일반적인 사용법을 보여줍니다.

SELECT normal(0, 1, random()) FROM table(generator(rowCount => 5));

+------------------------+
| NORMAL(0, 1, RANDOM()) |
|------------------------|
|           0.227384164  |
|           0.9945290748 |
|          -0.2045078571 |
|          -1.594607893  |
|          -0.8213296842 |
+------------------------+

이는 gen 매개 변수가 상수이면 출력이 상수임을 보여줍니다.

SELECT normal(0, 1, 1234) FROM table(generator(rowCount => 5));

+--------------------+
| NORMAL(0, 1, 1234) |
|--------------------|
|      -0.6604156716 |
|      -0.6604156716 |
|      -0.6604156716 |
|      -0.6604156716 |
|      -0.6604156716 |
+--------------------+
맨 위로 이동