SQL Server - 随机排列结果,但为每个记录分配权重
我知道使用 SQL Server 打乱结果的正常方法是按 NEWID()
排序,但我想改用加权打乱。
表中的每条记录都有一个从 1 到 10 的整数“重要性”。我想按 RAND()*Importance
排序,但 SQL Server 有 RAND()
为每个返回的记录返回相同的值。
有什么想法吗?
I know that the normal way to shuffle results with SQL Server is to order by NEWID()
, except I'd like to instead use a weighted shuffle.
Each record in my table has an integer 'Importance' from 1 to 10. I'd like to order by RAND()*Importance
, except SQL Server has RAND()
return the same value for each record returned.
Any ideas please?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
查看 SQL Server - 基于集合一些想法的随机数
Take a look at SQL Server - Set based random numbers for some ideas