source

MySQL UPDATE(랜덤 번호 1-3)

gigabyte 2022. 9. 12. 11:41
반응형

MySQL UPDATE(랜덤 번호 1-3)

큰 테이블을 가져와서 각 레코드에 대해 무작위로 선택된 숫자가 있는 열을 추가하고 싶습니다. 1, 2, 또는 3.

힘든 시간을 보내고 있다.좋은 생각 있어요?

이것을 시험해 보세요.

UPDATE tableName SET columnName = FLOOR( 1 + RAND( ) *3 );

의 MySQL 문서에서RAND:

0 <= v < 1.0 범위의 임의의 부동 소수점 값 v를 반환합니다.

따라서 위의 쿼리에서 생성될 수 있는 가장 큰 값은1 + RAND()*3되지요3.999999바닥에 앉으면 3이 됩니다.최소값은 다음과 같은 경우에 발생합니다.RAND()0을 반환합니다.이 경우 1이 됩니다.

RAND() 함수를 사용합니다.범위 내의 임의의 부동 소수점 값 v를 반환합니다.0 <= v < 1.0범위 내의 임의의 정수 R을 구하려면i <= R < j, 다음 식을 사용합니다.FLOOR(i + RAND() * (j − i + 1))예를 들어 범위 내에서 임의의 정수를 얻으려면1<= R < 3다음 문장을 사용합니다.

UPDATE tableName
SET ColumnName= FLOOR(1 + rand() * 3);

N.B : RAND()는 0 ~1의 랜덤 플로트 값을 생성합니다.

이렇게 해 주세요.

UPDATE tableName SET columnName = FLOOR(RAND( ) + RAND( ));

언급URL : https://stackoverflow.com/questions/14865632/mysql-update-with-random-number-between-1-3

반응형