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 随机数插入
相关推荐
先吃饱再说21 小时前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils21 小时前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend1 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶1 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung1 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql
parade岁月1 天前
MySQL JOIN解析:朴实无华但食之有味
数据库·后端
用户3169353811831 天前
MySQL服务无法启动问题解决全记录
数据库
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
数据技术说1 天前
MySQL 迁移实战——如何实现真正的"零改造"平滑切换
mysql
倔强的石头_2 天前
《Kingbase护城河》——猎捕慢查询:执行计划的微观解析与索引调优实战
数据库