iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql-->随机取数
  • 673
分享到

mysql-->随机取数

mysqlsql数据库 2023-09-03 22:09:27 673人浏览 八月长安
摘要

该笔记记录缘由:客户要求分析21年3月每天用户消费的高峰时间点,每天随机取50条数据进行分析,总结出3种随机取数的方法,详情如下 方法一 1)使用rand()随机取数,适用于数据量少的情况,若查询表数量大会非常耗时(测试效果建下图一) --

笔记记录缘由:客户要求分析21年3月每天用户消费的高峰时间点,每天随机取50条数据进行分析,总结出3种随机取数的方法,详情如下

方法一

1)使用rand()随机取数,适用于数据量少的情况,若查询表数量大会非常耗时(测试效果建下图一)

-- 写法一SELECT *from `结账单` ORDER BY RAND() LIMIT 50;-- 写法二(增加一列自增id列,随机取数的效果看起来更直观)SELECT *from (SELECT (@i:=@i+1) id,a1.*from `结账单` a1,(SELECT @i:=0) as i) qORDER BY RAND() LIMIT 50;

图一(数据量多少的耗时对比):

   

图二(方式一查询时间):

方法二(适用于数据多的情况)

思路:
1)新增某个随机数字段,取大于等于这个随机数的连续取数50条 
2)使用round() * rand() 构建一个随机数

-- round(x,d):四舍五入函数;x指要处理的数,d是指保留几位小数
-- round(x),等于round(x,0),该写法默认d为0
-- RAND():函数用于返回范围0 <= V <1.0的随机浮点值V 

图三(方式二查询时间):

SELECT * FROM `结账单` AS a1JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `结账单` )) AS id ) AS a2 WHERE a1.id >= a2.id ORDER BY a1.id ASC LIMIT 50; 

方法三

思路:
1)利用id字段随机构建数值,取大于等于这个随机数的连续取数50条 
2)使用FLOOR(MAX(id)) * RAND()构建一个随机数

-- FLOOR(x):向下取整,返回小于 x 的最大整数值;例如FLOOR(3.5)取整为3
-- MAX(x):返回指定列最大值;例如:id列(1,5,10)返回10
-- RAND():用于返回范围0 <= V <1.0的随机浮点值V 

SELECT *FROM `结账单`WHERE id >= (SELECT FLOOR(MAX(id)) * RAND() FROM `结账单`)ORDER BY id LIMIT 50;-- FLOOR(x):向下取整,返回小于 x 的最大整数值;例如FLOOR(3.5)取整为3-- MAX(x):返回指定列最大值;例如:id列(1,5,10)返回10-- RAND():用于返回范围0 <= V <1.0的随机浮点值V 

 图四(方式三查询时间):

来源地址:https://blog.csdn.net/weixin_73361196/article/details/129549060

您可能感兴趣的文档:

--结束END--

本文标题: mysql-->随机取数

本文链接: https://www.lsjlt.com/news/392892.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql-->随机取数
    该笔记记录缘由:客户要求分析21年3月每天用户消费的高峰时间点,每天随机取50条数据进行分析,总结出3种随机取数的方法,详情如下 方法一 1)使用rand()随机取数,适用于数据量少的情况,若查询表数量大会非常耗时(测试效果建下图一) --...
    99+
    2023-09-03
    mysql sql 数据库
  • MySQL随机选取资源
    随机选取一个资源 模拟表如下: set autocommit=false;   update room_info set&n...
    99+
    2024-04-02
  • mysql如何随机获取几条数据
    mysql如何随机获取几条数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。mysql随机获取几条数据的方法:1、通过“SELECT * FROM ta...
    99+
    2023-06-22
  • MySQL如何随机取数据最高效率
    小编给大家分享一下MySQL如何随机取数据最高效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 发现在SQL语句里有一个 O...
    99+
    2024-04-02
  • mysql生成随机数
    DROP FUNCTION IF EXISTS rand_string; delimiter // CREATE FUNCTION rand_string(l_num tinyint UNSIGNED,l_...
    99+
    2024-04-02
  • MySQL随机选取资源--优化
    接前文: http://blog.itpub.net/29254281/viewspace-2120294/ 前文中,Order by rand()在数据量大的时候,会有一些性能问题. set...
    99+
    2024-04-02
  • PHP怎样获取随机数
    这篇文章给大家分享的是有关PHP怎样获取随机数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。作用:取得随机字符串PHP获取随机数的参数: (int)$length = 32 #随机字符长度 2、(int)$mod...
    99+
    2023-06-17
  • MySQL中的随机抽取的实现
    目录1. 引言2. 内存临时表3. 磁盘临时表4. 优先队列排序算法1. 引言 现在有一个需求是从一个单词表中每次随机选取三个单词。 这个表的建表语句和如下所示: mysql> Create table 'word...
    99+
    2023-03-20
    MySQL 随机抽取
  • JAVA中如何获取随机数
    JAVA中如何获取随机数,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在Java中我们可以使用java.util.Random类来产生一个随机数发生器。它有两种形式的构造函数,...
    99+
    2023-06-03
  • Linq如何随机读取数据
    这篇文章主要介绍了Linq如何随机读取数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linq随机读取数据在系统自由生成的o/p mapping代码中添加这个方法,如果是用...
    99+
    2023-06-17
  • mysql中怎么随机抽取一定数量的记录
    本篇文章为大家展示了mysql中怎么随机抽取一定数量的记录,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.order by rand()写法:SELECT...
    99+
    2024-04-02
  • MySQL中怎么实现在表中取出随机数据
    本篇文章为大家展示了MySQL中怎么实现在表中取出随机数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  如何在MySQL实现表中取出随机数据  SELEC...
    99+
    2024-04-02
  • MySQL中的随机抽取如何实现
    今天小编给大家分享一下MySQL中的随机抽取如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. 引言现在有一个需求是...
    99+
    2023-07-05
  • 在 PHP 中获取随机数组项
    本篇文章介绍在 PHP 中从数组中获取随机项的方法。 在 PHP 中使用 array_rand() 函数获取随机数组项 我们可以使用 array_rand() 函数从 PHP 中的数组中获取随...
    99+
    2024-02-27
  • PHP数组中如何随机取值
    可以使用PHP的array_rand()函数来随机取得数组中的一个值。示例如下: $fruits = array("app...
    99+
    2024-04-02
  • php如何获取随机数组记录
    这篇文章给大家分享的是有关php如何获取随机数组记录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。获取随机数组记录您有一个很大的数组,想要从中选择一个随机值。常规array_ra...
    99+
    2024-04-02
  • mysql 随机查询10条数据
    要在MySQL中进行高效的随机查询并获取10条数据,可以使用以下方法: 方法一:使用`ORDER BY RAND()`和`LIMIT` SELECT * FROM your_tableORDER BY RAND()LIMIT 10;...
    99+
    2023-08-31
    mysql 数据库
  • js获取随机颜色值的函数
    收集一个函数:获取随机颜色值 复制代码 代码如下: function getRandomColor(){ return "#"+("00000"+((Math.random()...
    99+
    2022-11-15
    js获取颜色值 随机颜色
  • mysql如何生成指定位数的随机数及批量生成随机数
    小编给大家分享一下mysql如何生成指定位数的随机数及批量生成随机数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 先介绍几...
    99+
    2024-04-02
  • Python随机函数random随机获取数字、字符串、列表等使用详解
    在python中用于生成随机数的模块是random,在使用前需要import, 下面看下它的用法。 Python随机生成一个浮点数 random.random random.rand...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作