大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 数据库 -> MySQL -> MySQL 如何从表中取出随机数据

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

时间: 2021-08-13 作者:daque

往日在群里计划过这个题目,比拟的有道理.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<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.*之上才扶助如许的子查问.

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.