MySQL随机读取指定大小的数据量

1、所使用的基本知识

RAND(); //获取[0,1)之间的数据,是一个浮点数据
ROUND(n); //MySQL四舍五入函数
FLOOR(n); //向下取整函数,取小于等于n的数
ceil(n); //向上取整,取大于等于n的数

随机取一个范围内的数据常见的方式就是
round( rand() * (max - min + min) )

2、SQL语句

##多表连接实现随机数据的读取
SELECT student.id,stu_name,stu_age,stu_addr FROM student AS student INNER JOIN (
			## SELCT命令会形成一个内存中虚拟的表,所以可以对内存中虚拟的表进行多表连接
			SELECT ROUND(RAND() * ((SELECT MAX(id) FROM student)-(SELECT MIN(id) FROM student))+(SELECT MIN(id) FROM student)) AS id
	) AS temp
WHERE student.id >= temp.id  ## 连接的条件
ORDER BY student.id LIMIT 10;  ## 排序并得到指定条数

测试

数据库中总的数据量,一共18条
在这里插入图片描述
随机选取的数据量
在这里插入图片描述

总结

在进行多表连接查询的时候,我们通常使用的是两张实实在在的表,而使用SELECT查询语句的时候也会产生一个虚拟的表,同样可以进行多表连接查询的操作,并且这张虚拟的表存在内存中,所以执行效率会大大提升。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值