【发布时间】:2011-07-06 18:00:04
【问题描述】:
我知道使用 SQL Server 随机播放结果的常规方法是按NEWID() 排序,但我想改用加权随机播放。
我表中的每条记录都有一个从 1 到 10 的整数“重要性”。我想按 RAND()*Importance 排序,但 SQL Server 的 RAND() 为返回的每条记录返回相同的值。
有什么想法吗?
【问题讨论】:
-
您的意思是按重量排序、随机排序还是只是某种“加载骰子”,其中 10 的记录可能在 1 的记录之前?
-
加载骰子。如果我有两条记录,重要性值为 1 和 10,我希望看到 10 的记录在 10 次中出现大约 9 次。
标签: sql sql-server random sql-server-express sql-server-2008-express