9159金沙游艺场-奥门金沙游艺场-[欢迎您]

9159金沙游艺场为您呈现最新的面貌!,目前注册送体验金,欢迎您将成为影视娱乐行业新的风向标,是亚洲的优质娱乐先锋。

mysql随机抽取一定数量的记录实例讲解

日期:2020-04-26编辑作者:前端

先前遭逢这种应用景况都以一贯order by rand(卡塔尔(قطر‎来管理的,可是效用实乃不敢恭维,所以这段时间又碰见这种情景,在网络搜索下相比较好的减轻办法.

1.order by rand()

写法:

SELECT idFROM `table`ORDER BY rand()

这种写法的症结是rand函数在order by中被实践多次,影响作用。

2.max(id) * rand() 使用join

写法:

SELECT *FROM `table` AS t1JOIN ( SELECT ROUND( RAND() * ( (SELECT MAX(id) FROM `table`) - (SELECT MIN(id) FROM `table`) ) + (SELECT MIN(id) FROM `table`) ) AS id) AS t2WHERE t1.id = t2.idORDER BY t1.idLIMIT 1;

网上的大佬们都推荐第三种写法,特此记录下,认为最大id和眇小id能够献身程序里来总计。

这里有个难点是只要取多条 那么必然是连接的,所以假使是不想取延续数据,得循环,然而此语句成效相当高,所以循环查询是足以做的。

如上正是整套唇揭齿寒知识点内容,有须求的朋友们方可学学下,谢谢大家对台本之家的扶助。

本文由9159金沙游艺场-奥门金沙游艺场-[欢迎您]发布于前端,转载请注明出处:mysql随机抽取一定数量的记录实例讲解

关键词:

MySQL版本低了不支持两个时间戳类型的值解决方法

MySQL报错:错误代码: 1293 Incorrect table definition; there can be onlyone TIMESTAMP column with CURRENT_TIMESTAMP 原因是:两台服务器的...

详细>>

MySQL如何生成唯一的server

前言 我们都清楚MySQL用server-id来独一的标记某些数据库实例,并在链式或双主复制结构中用它来防止sql语句的十二万...

详细>>

MySQL主从同步中的server

前言 当我们搭建MySQL集群时,自然需要完成数据库的主从同步来保证数据一致性。而主从同步的方式也分很多种,一...

详细>>

如何在Windows中运行多个MySQL实例详解

前言 在Windows中可以从命令行为每个实例使用合适的操作参数来手动启动多个MySQL实例或者通过以Windows服务方式来安装...

详细>>