随机数算法,SQL

sql 复制代码
SELECT
    * 
FROM
    prizes_config 
WHERE
    weight > ( SELECT FLOOR( RAND() * MAX( weight )) FROM prizes_config ) 
    order by weight asc
    
    
--    LIMIT 1;

记录

id 权重

1 5

2 10

3 50

4 100

找权重最大的那个值,调用rand()函数,它会随机生成一个0-1的值

然后 rand * 100 得出一个随机值

它的范围 0 <= 随机值 < 100

例如本次随机值为2,那么找到 大于2的所有记录,然后升序

此时查询结果为

2 10

3 50

4 100

最后LIMIT 1 返回第一条

相关推荐
vegetablec2 分钟前
如何用 location.reload(true) 强制浏览器从服务器刷新页面
jvm·数据库·python
2301_814809862 分钟前
如何让导航栏的下落动画效果更缓慢?
jvm·数据库·python
Elastic 中国社区官方博客5 分钟前
多大才算太大?Elasticsearch 容量规划最佳实践
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
InfinteJustice7 分钟前
如何加固SQL通信安全_启用SSL加密确保数据传输安全
jvm·数据库·python
切糕师学AI7 分钟前
深入解析SqlSugar:.NET领域的高性能多数据库ORM框架
数据库·.net·orm
城数派8 分钟前
2025年我国乡镇的平均高程数据(Excel\Shp格式)
数据库·arcgis·信息可视化·数据分析·excel
2301_817672269 分钟前
C#怎么实现RSA非对称加密 C#如何用RSA算法进行公钥加密私钥解密和数字签名【安全】
jvm·数据库·python
Greyson110 分钟前
Go语言中纯函数调用的并发安全性详解
jvm·数据库·python
InfinteJustice11 分钟前
怎么在Node.js中管理MongoDB的数据库迁移版本_使用migrate-mongo进行类似Flyway的版本演进控制
jvm·数据库·python
2301_8176722620 分钟前
如何在 HTML 中正确使用 exif-js 库读取图片 EXIF 元数据
jvm·数据库·python