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 随机数插入
相关推荐
这个DBA有点耶4 小时前
从INDEX到JOIN_ORDER:MySQL 8.0 Hint语法体系与五类实战场景
数据库·mysql·架构
数字新视界4 小时前
机房动环监控助力智能管理
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
梅菲塔亚5 小时前
博客_Redis入门到实战
数据库·redis·缓存
abcyuu5 小时前
用友 U8 Cloud 生产制造模块深度解析:从 BOM 建立到成本核算的技术实现
前端·数据库·制造
夜雪一千5 小时前
MySQL 的ID用什么数据类型更好?主键ID选型实战
数据库·mysql
蓝胖的四次元口袋5 小时前
Redis 知识梳理(3)
数据库·redis·缓存
一铭111995 小时前
海豹办公 1.9.15 跨端办公软件实践 文档兼容 Access 数据库与移动 WebView 排错
android·数据库·electron·开源软件·access
Lynne3095 小时前
TSN 在变电站自动化通信网络升级中的应用价值与技术挑战
服务器·网络·数据库
弈栈录5 小时前
用户、会话与消息表应该如何设计
数据库·后端
内存漫游5 小时前
Checkpoint 与 Crash Recovery:数据库恢复机制入门
数据库