카테고리:

데이터 생성 함수

NORMAL

지정된 meanstddev (표준 편차)를 사용하여 정규 분포 의사 난수 부동 소수점 숫자를 생성합니다.

구문

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

인자

mean

출력값이 중심이 되어야 하는 값을 지정하는 상수입니다.

stddev

하나의 표준 편차의 너비를 지정하는 상수입니다.

For example, if you specify a mean of 0.0 and a standard deviation of 1.0, approximately 68.2% of returned values from multiple calls will be between -1.0 and +1.0 (i.e. within one standard deviation of the mean).

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

gen

균일한 난수의 원시 원본 역할을 하는 식으로, 일반적으로 RANDOM 함수입니다. 자세한 내용은 데이터 생성 함수 사용법 노트 를 참조하십시오.

반환

임의의 부동 소수점 숫자를 반환합니다. 많은 반복 호출의 누적된 결과는 정규 분포에 가깝습니다.

사용법 노트

이 함수는 반환된 값의 범위와 분포에서 모두 RANDOM 함수와 관련성은 있지만 다릅니다.

  • RANDOM 은 균등 분포에서 임의의 64비트 정수를 생성합니다. 임의의 시퀀스가 반복되도록 허용하는 선택적 시드를 허용합니다.

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

  • NORMAL 은 지정된 표준 편차를 사용하여 지정된 평균을 중심으로 임의의 정수 또는 부동 소수점 숫자를 생성합니다.

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

이는 평균이 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 |
+------------------------+
Copy

이는 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 |
+--------------------+
Copy