随机数算法,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 返回第一条

相关推荐
xsc6996755 分钟前
Milvus实战:快速上手向量数据库
数据库·milvus
艾莉丝努力练剑5 分钟前
【Qt】事件
服务器·开发语言·网络·数据库·qt·tcp/ip·计算机网络
Bert.Cai7 分钟前
Oracle简介
数据库·oracle
名不经传的养虾人12 分钟前
从0到1:企业级AI项目迭代日记 Vol.41|多租户不是一个功能,是一次手术
服务器·数据库·系统架构·ai编程·ai工作流·企业ai
艾莉丝努力练剑20 分钟前
【QT】窗口
运维·网络·数据库·qt·计算机网络·microsoft
持敬chijing22 分钟前
Web渗透之SQL注入-盲注(布尔盲注,时间盲注)
前端·sql·oracle
元拓数智32 分钟前
跨库NL2SQL可信落地的核心:用IntaLink破解数据关系“迷雾”
数据库·人工智能·ai·nlp·agent·llama
unicrom_深圳市由你创科技32 分钟前
MySQL 慢查询日志深度分析:从 “识别慢 SQL” 到 “定位瓶颈根因”
sql·mysql·adb
worilb37 分钟前
Spring Cloud 学习与实践(6):Nacos 配置中心
数据库·学习·spring cloud
lld95102738 分钟前
(三)本地策略框架
java·服务器·数据库