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 随机数插入
相关推荐
m0_6174939417 小时前
PySide6 数据库操作深度实测:从 SQLite 连接到增删改查避坑指南
jvm·数据库·sqlite
weixin_4492900117 小时前
Docker + MySQL 在 Windows 11 上的本地安装部署文档
mysql·docker·容器
OpsEye18 小时前
数据库连接池爆了,这3个命令能救你一次
运维·数据库·后端
csdn小瓯18 小时前
PostgreSQL迁移实战:从SQLite到生产级数据库的平滑演进
数据库·postgresql·sqlite
浪客灿心18 小时前
mysql表的操作和数据类型
mysql
码云骑士19 小时前
Redis 入门实战:从 NoSQL 概念到安装与基础操作详解(一)
数据库·redis·缓存
YL2004042619 小时前
MySQL-进阶篇-锁
数据库·mysql
爱喝水的鱼丶19 小时前
SAP-ABAP:数据类型与数据对象(8篇) 第七篇:进阶优化篇——基于类型与对象特征的性能优化技巧
运维·数据库·学习·性能优化·sap·abap·开发交流
SelectDB技术团队19 小时前
PB 级自动驾驶数据秒级检索:Apache Doris 统一多模态数据平台实践
数据库·人工智能·自动驾驶·apache doris·selectdb
爱编程的小新☆19 小时前
LangGraph4j工作流框架
前端·数据库·ai·langchain·langgraph4j