已整理了一个中奖概率算法,请问是否有更好的?
设置中奖概率
1等奖千分之1;
2等奖千分之10;
3等奖千分之50;
为了保证各个奖项的真实性,我的算法是想在表中生成1000条数据,其中标记1等奖的1条,标记2等奖的10条,标记3等奖的50条,其余的900多条都为未中奖。
然后前段从后端取得时候通过(mysql数据库)SELECT * FROM tablename ORDER BY RAND() LIMIT 1 随机读取一条然后删掉,这样直至为空。当检测为空的时候在按照如上概率生成1000条 如此循环。
请问这样的算法是否可行 是否有更好的算法?