我需要为表格中的每一行添加一个不同的随机数.以下看似明显的代码对每行使用相同的随机值.
SELECT table_name, RAND() magic_number
FROM information_schema.tables
Run Code Online (Sandbox Code Playgroud)
我想从中获得INT或FLOAT.故事的其余部分是我将使用这个随机数来创建一个已知日期的随机日期偏移,例如从开始日期偏移1-14天.
这适用于Microsoft SQL Server 2000.
我正在使用MySQL.我有一张看起来像这样的表:
id: primary key
content: varchar
weight: int
Run Code Online (Sandbox Code Playgroud)
我想要做的是从该表中随机选择一行,但考虑到重量.例如,如果我有3行:
id, content, weight
1, "some content", 60
2, "other content", 40
3, "something", 100
Run Code Online (Sandbox Code Playgroud)
第一行有30%被选中的机会,第二行被选中的几率为20%,第三行被选中的几率为50%.
有没有办法做到这一点 ?如果我必须执行2或3个查询,这不是问题.
如何根据分配给每一行的概率机会从数据库中选择一个随机行.
例:
Make Chance Value
ALFA ROMEO 0.0024 20000
AUDI 0.0338 35000
BMW 0.0376 40000
CHEVROLET 0.0087 15000
CITROEN 0.016 15000
........
Run Code Online (Sandbox Code Playgroud)
如何根据必须选择的概率选择随机生成名称及其值.
将组合rand()和ORDER BY工作?如果是这样,最好的方法是什么?