카테고리:

데이터 생성 함수

NORMAL

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

구문

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

인자

mean

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

stddev

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

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

유사하게, 평균 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