ID连续的情况下(注意不能带where,否则结果不好):

SELECT *
FROM `mm_account` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `mm_account`)) AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id ASC LIMIT 4;

ID不连续的情况下:

SELECT * FROM `mm_account`
WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `mm_account`)))  and city="city_91" and showSex=1
ORDER BY id LIMIT 4;

假设你的表叫做mm_account,并且有一个字段叫id。最快的方法如下(随机获取5条):

SELECT * FROM mm_account WHERE id >= ((SELECT MAX(id) FROM mm_account)-(SELECT MIN(id) FROM mm_account)) * RAND() + (SELECT MIN(id) FROM mm_account) limit 5;

如果带where语句,上面就不适合了。带where语句请看下面:

SELECT *
FROM `mm_account` AS t1 JOIN (SELECT ROUND(RAND() * (
(SELECT MAX(id) FROM `mm_account` where id<1000 )-(SELECT MIN(id) FROM `mm_account` where id<1000 ))+(SELECT MIN(id) FROM `mm_account` where id<1000 )) AS id) AS t2
WHERE t1.id >= t2.id
ORDER BY t1.id LIMIT 5;

mysql怎样高效率随机获取n条数据相关推荐

  1. mysql高效率写法_mysql高效率随机获取n条数据写法

    今天做项目遇到这个问题,本来想用mysql自带的随机函数来实现,但是想到这样做功能是实现了,但是效率真的好差!一下子想不到好的方法,就去网上找了一下,记录下来,好好研究学习一下. ID连续的情况下(注 ...

  2. mysql 随机槽_mysql怎样高效率随机获取n条数据

    ID延续的情况下(注重不能带where,否则效果欠好): SELECT * FROM `mm_account` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MA ...

  3. laravel mysql rand_laravel如何从mysql数据库中随机抽取n条数据(高性能) - Laravel学习网...

    laravel如何高性能地从mysql数据库中随机获取n条数据,有时候我们常常会需要从数据库随机获取数据,比如:给工作人员随机分配10个订单,随机从数据库中随机抽查100个用户:这样我们就需要随机从数 ...

  4. Oracle 随机获取N条数据

    Oracle 随机获取N条数据     当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到 ...

  5. mysql随机取5条数据_【转】mysql实现随机获取几条数据的方法

    sql语句有几种写法 1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要获取的数据条数: 2:SELECT *FROM `table` WHERE i ...

  6. 随机获取数据库的数据

    随机获取数据库的数据 最近的在开发自己的博客,里面有个功能需要随机推荐这个功能. 不同数据库随机获取 10 条数据 转载:https://www.cnblogs.com/gc2013/p/358079 ...

  7. oracle 取任意一条数据,oracle随机取一条数据详解

    Oracle 随机获取N条数据 当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到这样的目 ...

  8. mysql 获取一条数据_MySQL数据库中随机获取一条或多条记录

    在开发过程中遇到了一个问题,使用MySQL数据库,用SQL语句在表中随机获取一条或多条数据,看似简单,但是往深层研究的话还是很有深度的,查了好多资料,接下来给大家分享一下: 1. 随机获取单条数据 S ...

  9. 从Mysql某一表中随机读取n条数据的SQL查询语句

    若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)).例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机 ...

最新文章

  1. 可信计算 沈昌祥_沈昌祥院士在南宁开展网络安全前沿知识讲座
  2. ES JVM使用如果超过75%就会GC较多,导致ES索引性能下降
  3. mysql8.0.18用什么jdk_基础命令、cake-install、mysql远程登录、JDK安装
  4. JAVA实现可设置背景的MDI窗口
  5. Spring-framework应用程序启动loadtime源码分析笔记(二)——@Transactional
  6. 老式计算机显示器是什么类型的,电脑显示器面板类型有哪些,显示器什么面板好?...
  7. C#WinForm程序异常退出的捕获、继续执行与自动重启
  8. Torch 的安装与基本用法
  9. 【图像隐写】基于matlab GBT+SVD数字水印嵌入与提取【含Matlab源码 1668期】
  10. 2022年计算机软件水平考试信息系统管理工程师(中级)练习题及答案
  11. [读书笔录]解析卷积神经网络(魏秀参)——目录和绪论
  12. 利用爬虫获得疫情信息,并存入表格
  13. apple watch更新系统时出现红色感叹号解决方法
  14. 为什么需要API接口开发?
  15. 互联网新机遇:移动社交电商将成为下一个风口?
  16. 智慧城市篇 | 数字孪生智慧排水管网管理平台
  17. 出现Cannot resolve plugin XXX的解决办法
  18. Git之checkout命令总结
  19. 魔兽服务器修改端口,魔兽怀旧服:PTR四项全新改动,开放仇恨端口,或将影响副本难度...
  20. Ubuntu系统_安装NVIDIA显卡驱动与CUDA Toolkit

热门文章

  1. OpenWRT校园网ipv6设置
  2. java与c 命名管道_C/S模型之命名管道
  3. springboot之监听器
  4. 医院网络营销开展流程
  5. mysql怎么查出用户连续签到_连续签到奖励 数据库如何设计?
  6. 使用purify检查内存泄漏
  7. 做爱情的胜利者!你应该有的8个正确恋爱观
  8. 京东AI发起人周伯文离职,周伯文与京东的几年 | 旧文重读
  9. 真正的理解是什么? 会用啊
  10. 中国央行数字货币DCEP的七大猜想!