mysql实现随机获取几条数据的方法
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xionglangs/article/details/50630758
sql语句有几种写法
1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要获取的数据条数;
2:SELECT *FROM `table` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` ) ORDER BY id LIMIT 想要获取的数据条数;
3:SELECT * FROM `table`  AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2.id
ORDER BY t1.id ASC LIMIT 想要获取的数据条数;
4:SELECT * FROM `table`WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `table`))) ORDER BY id 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 想要获取的数据条数;
6: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的查询时间>>2的查询时间>>5的查询时间>6的查询时间>4的查询时间>3的查询时间,也就是3的效率最高。
--------------------- 
作者:编程爱好者熊浪 
来源:CSDN 
原文:https://blog.csdn.net/xionglangs/article/details/50630758 
版权声明:本文为博主原创文章,转载请附上博文链接!
mysql实现随机获取几条数据的方法的更多相关文章
- 【转】mysql实现随机获取几条数据的方法
		
sql语句有几种写法 1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要获取的数据条数: 2:SELECT *FROM `table` WHERE i ...
 - mysql高效率随机获取n条数据写法
		
今天做项目遇到这个问题,本来想用mysql自带的随机函数来实现,但是想到这样做功能是实现了,但是效率真的好差!一下子想不到好的方法,就去网上找了一下,记录下来,好好研究学习一下. ID连续的情况下(注 ...
 - 四种数据库随机获取N条数据的方法
		
1.SQL Server: SELECT TOP n * FROM tableName ORDER BY NEWID(); 2.ORACLE: SELECT * FROM (SELECT * ...
 - sql 随机抽取几条数据的方法 推荐
		
传说用这个语句管用:select top 5 * from tablename order by newid() 我放到sql的查询分析器里去执行果然管用,随机抽取5条信息,不停的换,结果我应用到程序 ...
 - mysql中随机取出几条数据
		
SELECT t1.id,title,extName,cover,url FROM shop_articles AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT M ...
 - thinkphp 随机获取一条数据
		
$data=$AD->field("ID,Answer,State")->limit(1)->order('rand()')->select();
 - MYSQL 中随机读取一条数据
		
SELECT * FROM res AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM res) - (SELECT MIN(id) FRO ...
 - laravel如何从mysql数据库中随机抽取n条数据
		
laravel如何从mysql数据库中随机抽取n条数据 一.总结 一句话总结: inRandomOrder():$userQuestions=UserQuestion::where($map)-> ...
 - PHP如何实现在数据库随机获取几条记录
		
本文实例讲述了PHP实现在数据库百万条数据中随机获取20条记录的方法.PHP实例分享给大家供大家参考,具体如下: 为什么要写这个? 在去某个公司面试时,让写个算法出来,当时就蒙了,我开发过程中用到算法 ...
 
随机推荐
- JAVA课堂测试之一位数组可视化
			
代码: package test;//求最大子数组 import java.util.Scanner; import javax.swing.JOptionPane; public class shu ...
 - TortoiseGit拉取或推送,输入账号密码后提示 HTTP Basic: Access denied fatal: Authentication failed 解决方案
			
TortoiseGit拉取或推送项目,输入账号密码后,提示 HTTP Basic: Access denied fatal: Authentication failed. 大体意思是,HTTP基本认证 ...
 - java面向对象总结(二)
			
Java 封装 实现Java封装的步骤 java面向对象值继承 概念: 继承的格式: 类和类之间的关系: 继承的特点: 继承的优缺点 继承的好处: 继承的缺点: 继承的注意事项: 使用继承的步骤: J ...
 - java线程学习之notify方法和notifyAll方法
			
notify(通知)方法,会将等待队列中的一个线程取出.比如obj.notify();那么obj的等待队列中就会有一个线程选中并且唤醒,然后被唤醒的队列就会退出等待队列.活跃线程调用等待队列中的线程时 ...
 - element-ui表单form和rules踩坑
			
问题: 代码: <el-form ref="form" :rules="rules" :model="form" label-widt ...
 - 2、每日复习点--ConcurrentHashMap vs HashMap vs LinkedHashMap vs HashTable
			
HashMap: 查询和插入速度极快,但是线程不安全,在多线程情况下在扩容的情况下可能会形成闭环链路,耗光cpu资源. LinkedHashMap: 基本和HashMap实现类似,多了一个链表来维护元 ...
 - window bat 切换目录并执行php文件
			
新建一个 test.bat文件,输入一下命令并保存 cmd /k "cd /d D:\PHPWAMP_IN2\phpwamp\server\Nginx-PHPWNMP\htdocs\test ...
 - Bugku-CTF之never give up
			
Day23 never give up http://123.206.87.240:8006/test/hello.php 本题要点:url编码,base64编码,代码审计,php函数 ...
 - QString使用正则表达式快速去空格
			
//QString去掉空格 QString str; str.remove(QRegExp("\\s"));
 - Java基础学习-三元运算符和键盘录入的基本步骤和使用
			
1.三元运算符的执行流程 package com.denniscui_05; /* * 三元运算符: * 关系表达式?表达式1:表达式2 * * 执行流程: * ...