我需要根据另一行的权重从表中选择随机行。就像用户输入随机值 50 一样,我需要从表中选择 50 个随机行,因为权重较高的行返回的次数更多。我看到使用 NEWID() 来选择 n 个随机行和这个链接
我们可以根据另一行的权重选择一行,但我需要根据用户随机输入数选择几行,所以最好的方法是使用上面链接中的建议答案并循环 n 次(但我认为它会返回同一行)还有其他简单的解决方案吗?
我的桌子是这样的
ID Name Freq
1 aaa 50
2 bbb 30
3 ccc 10
所以当用户输入 50 时,我需要返回 50 个随机名称,所以它应该比 ccc 更多 aaa ,bbb 。可能像 25 aaa 15 bbb 和 10 ccc。任何与此接近的东西都可以。我看到了这个答案,但是当我对我的数据库执行时,它似乎运行了 5 分钟并且还没有结果。 SQL:随机选择一行,但要考虑权重