Gid*_*dil 4 sql sql-server random sql-server-2008
我有2张桌子:Items&Users.
Items包含ItemID, and Num_Users
Users包含UserID
对于每个ItemID,我需要根据Num_Users列中指定的值随机选择多个用户.
我在SQL Fiddle上创建了一组示例数据.
单程.SQL小提琴
SELECT Items.[ItemID],
UserID
FROM Items
OUTER APPLY (SELECT TOP ([Num_Users]) *
FROM Users
ORDER BY Newid()) A
Run Code Online (Sandbox Code Playgroud)
您也可以使用CRYPT_GEN_RANDOM(4)而不是Newid()更大程度的随机性,但在非最新版本的SQL Server 2008上存在一些问题.