实现表中取出随机数据牛

纺织机械设备2021年09月06日

以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了。

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

但我试了一下,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 = ORDER BY ASC LIMIT 5;

湖州男科好医院
天津哪家男科好
佛山哪有专治白癜风医院
相关阅读
太离谱!郭艾伦1年只输1场球,4大赛全胜,刘翔没有理由不给他MVP

北京星期4月27日,丹东男子篮球门之前赢得了季末的CBA总冠军,但是这次的冠...

2024-07-11
出不了《祝卿好》的坑?5月6部好剧定档,赵丽颖、刘亦菲仲上阵

七月初的上古时代木偶戏花样百出。在等待了40多同一天,由任嘉伦和迪丽热...

2024-03-07
冯远征大8岁老婆太身为了,同框小28岁蒋欣,穿蓬蓬裙竟似同龄人

在娱乐圈,有很多成年差距的二人。当然,成年差距并很难给两一个人的婚姻...

2023-11-25
面相二王眉:正二王倒二王

“八字哑”是哑毛里面比起少见的一种形哑型,八字哑又分为于是以八字哑和...

2023-10-29
强强联手!金牛区携手四川发展六大赛道共铸光辉

强强四人!大兴区通力合作陕西其发展六大赛道共铸辉煌 5翌年20日,大兴区...

2023-10-23
良品铺子:合计持股7.51%的高瓴拟减持不超6%公司的股份

良品铺子5翌年20日告示,总共持有子公司大股东7.51%的股东珠海高瓴天达股权...

2023-10-21
友情链接