1

SQL Server에서 결과를 임의로 셔플하는 일반적인 방법은 가중치 셔플 대신에 NEWID()을 주문하는 것입니다.SQL Server - 임의로 결과를 임의로 셔플 처리하지만 각 레코드에 가중치가 할당 됨

내 테이블의 각 레코드에는 1부터 10까지의 '중요도'라는 정수가 있습니다. RAND()*Importance으로 주문하고 싶습니다. SQL 서버에는 RAND()이 반환되는 각 레코드에 대해 동일한 값을 반환합니다.

어떤 아이디어로주세요?

+0

에 대한 SQL Server - Set based random numbers에서보세요? – piotrpo

+0

적재 된 오지. 중요도 값이 1과 10 인 두 개의 레코드가있는 경우, 10이있는 레코드 중 10 번째 레코드가 9 번째로 먼저 표시됩니다. – billpg

답변

1

는 당신이 무게, 무작위, 또는 10 기록은 아마 1 기록하기 전에 될 것 "로드 오지"단지 어떤 종류의에 의해 순서를 의미합니까 몇 가지 아이디어

+0

감사. ABS (CHECKSUM (NEWID()))/100 * 중요성은 완벽하게 작업을 수행했습니다. – billpg

관련 문제