MySQL RAND()函数详解

📌 基础语法与核心功能

RAND() 是 MySQL 内置的数学函数,用于生成 **0 ≤** < 1 之间的随机双精度浮点数。

sql

复制代码
RAND()      --无种子,返回完全随机的浮点数
复制代码
RAND(N)     --使用整数N作为种子,同一会话中相同种子返回相同序列
语法形式 返回值范围 特点
RAND() 0 ≤ v < 1 无种子,完全随机
RAND(N) 0 ≤ v < 1 有种子,可重复的随机序列

sql

复制代码
SELECT RAND();          --例如:0.7245639057127423\[reference:1\]
复制代码
SELECT RAND(10);        --使用种子10生成随机数\[reference:2\]

🎯 核心用法速查表

使用场景 SQL 示例 返回值
生成随机浮点数 SELECT RAND(); 0 到 1 之间的浮点数
生成指定范围随机整数 SELECT FLOOR(RAND() * (max - min + 1)) + min; min 到 max 之间的整数
随机排序结果集 SELECT * FROM table ORDER BY RAND(); 结果集随机排序
随机抽取 N 条记录 SELECT * FROM table ORDER BY RAND() LIMIT N; 随机 N 条记录
约 10% 概率筛选数据 SELECT * FROM table WHERE RAND() < 0.1; 约 10% 的行
插入随机测试数据 INSERT INTO table (score) VALUES (RAND() * 100); 0-100 随机数插入
相关推荐
2603_965148113 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
ltl3 小时前
RocksDB 经典故障排查:L0、compaction 与 write stall
数据库
xfhuangfu4 小时前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
小小龙学IT5 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData5 小时前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
J_bean6 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean6 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
浪子明X6 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.6 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库
隔窗听雨眠6 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle