1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 从MySQL数据库表中取出随机数据的代码

从MySQL数据库表中取出随机数据的代码

时间:2020-02-23 13:10:17

相关推荐

从MySQL数据库表中取出随机数据的代码

php教程|php手册

从,MySQL,数据库,表中,取出,随机,数据,代码,MySQL,如何,从,表中,取出,随机,数据,以前,在,群里,

php教程-php手册

MySQL 如何从表中取出随机数据

以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩.

剑3工作室辅助 源码,ubuntu编译qt程序,tomcat的jar包加载,cmd安装爬虫,php数组索引重置,个人seo推广seo教程lzw

他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.

.net水电管理系统源码,vscode怎么添加断点,ubuntu 声音失真,tomcat服务返回502,找不到sqlite3的库,学了爬虫能干什么在生活中,php显示文字,杭州seo渠道有哪些,不用工具仿网站,bootstrap模板lzw

翻了手册,找到了下面这个语句,可以完成任务了

动漫动态网站源码,怎样修改ubuntu内核,tomcat客户端ip日志,广东网络爬虫,手机号验证规则php,首页seo技术lzw

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

rand在手册里是这么说的:

RAND()

RAND(N)

返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。

mysql> select RAND();

-> 0.5925

mysql> select RAND(20);

-> 0.1811

mysql> select RAND(20);

-> 0.1811

mysql> select RAND();

-> 0.2079

mysql> select RAND();

-> 0.7888

你不能在一个ORDER BY子句用RAND()值使用列,因为ORDER BY将重复计算列多次。然而在MySQL3.23中,你可以做: SELECT * FROM table_name ORDER BY RAND(),这是有利于得到一个来自SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000的集合的随机样本。注意在一个WHERE子句里的一个RAND()将在每次WHERE被执行时重新评估。 但我试了一下,8千条记录的表,执行一次需要0.08 sec,.慢了些 后来请教了google,得到如下代码 SELECT *

FROM table_name AS r1 JOIN

(SELECT ROUND(RAND() *

(SELECT MAX(id)

FROM table_name)) AS id)

AS r2

WHERE r1.id >= r2.id

ORDER BY r1.id ASC

LIMIT 5;

执行效率需要0.02 sec.可惜的是,只有mysql 4.1.*以上才支持这样的子查询.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。