mysql随机抽取数据50条_sql随机取若干条数据

mysql随机抽取数据50条_sql随机取若干条数据– 慢 SELECT * FROM table_name ORDER BY rand() LIMIT 5; — 较慢 SELECT * FROM `table` WHERE id >= (S

mysql随机抽取数据

 
--
SELECT * FROM table_name ORDER BY rand() LIMIT 5;

-- 较慢
SELECT * FROM `table`
WHERE id >= (SELECT floor( RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`)) + (SELECT MIN(id) FROM `table`)))
ORDER BY id LIMIT 1;

-- 快  `table 有 id 字段
SELECT *
FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id LIMIT 1;

-- 快  `table 没有有 id 字段
select * from (select @rownum:=@rownum + 1  as id,value from `table`,(select @rownum:=0) as a) as t1 join (
    select round( rand() * ( 
    (select max(b.id) from (select @rownum_max:=@rownum_max + 1  as id,value from `table`,(select @rownum_max:=0) as a) as b ) -
    (select min(b.id) from (select @rownum_min:=@rownum_min + 1  as id,value from `table`,(select @rownum_min:=0) as a) as b )
    )) + 
    (select min(b.id) from (select @rownum_min1:=@rownum_min1 + 1  as id,value from `table`,(select @rownum_min1:=0) as a) as b ) as id
) as t2
on t1.id>= t2.id
order by t1.id limit 1 

代码100分

 

缺点: 

每次查询后会获得连续的n条数据

解决办法:

每次查一条数据,重复查询n 次

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9816.html

(0)
上一篇 2023-01-31
下一篇 2023-01-31

相关推荐

  • mysql加锁处理分析_一种存储引擎

    mysql加锁处理分析_一种存储引擎存储引擎: 早期的时候,存在如何选择MyISAM和Innodb? 现在,Innodb不断地发展完善,成为了主流的存储引擎。 因此5.5之后的mysql,无脑选择Innodb即可。 MYSQL中的数据,

    2023-02-04
    169
  • Python取余操作详解

    Python取余操作详解Python作为一门高级语言,已经被广泛应用于各个领域,不仅可以用来做数据分析、Web开发等高端应用,还可以用来进行算法竞赛、数据结构等方面的学习。而在Python中,取余操作是常常会用到的操作之一。下面就来详细介绍Python中的取余操作。

    2024-05-28
    69
  • 使用JS的截取字符串方法创建标题

    使用JS的截取字符串方法创建标题在Web开发中,标题是Web页面中比较重要的一个元素,往往能很好地体现页面的主题和重点。本文将介绍如何使用JS的截取字符串方法创建标题,方便地实现Web页面标题的定制。

    2024-08-17
    31
  • 使用Python打印变量实例

    使用Python打印变量实例Python是一种高级编程语言,适用于多种应用场景,如Web开发,数据分析,人工智能等。在Python中,变量是一种存储数据的容器。变量可以是数字、字符串、列表、元组、字典等数据类型。

    2024-08-10
    35
  • instantclient找不到_oraclient

    instantclient找不到_oraclient©Copyright 蕃薯耀 2020-01-07 https://www.cnblogs.com/fanshuyao/ 第一步: 下载 instantclient(instant

    2022-12-30
    173
  • 优化Mac上Python开发环境的完美配置指南

    优化Mac上Python开发环境的完美配置指南Python是一种简洁、易读、易学、功能强大的编程语言。随着Python在科学、数据分析、Web和网络编程等领域的应用越来越广泛,越来越多的开发者选择Python作为自己的主力语言。而在Mac操作系统下,如何高效地配置Python开发环境则成为了每个Python工程师必须掌握的技能。

    2024-04-07
    87
  • 做一个平台,让对手发来一个很烂的sql,然后系统返回一个优化好的sql(一)「建议收藏」

    做一个平台,让对手发来一个很烂的sql,然后系统返回一个优化好的sql(一)「建议收藏」
    我们要做的事情大概分3步: 1、需求的描述(主要把问题点抛出来) 2、解决如何优化sql性能的问题(hive关于一条sql的生命周期源码的分析),也就是如何…

    2023-04-06
    156
  • Mysql 数据恢复逻辑 基于binlog redolog undolog「建议收藏」

    Mysql 数据恢复逻辑 基于binlog redolog undolog「建议收藏」注:文中有个易混淆的地方"事务" sql事务,即每次数据库操作生成的事务,这个事务trx_id只在undolog里存储,同时undolog维护了此事务是否完成的状态。 日志持久化事

    2023-05-29
    145

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注