mysql如何从数据库里取得随机的一天数据

clysl 发布于 2013/04/15 17:22
阅读 203
收藏 1
如何从数据库里随机取得一条数据。

1 小明
2 小花

有时是小明,有时是小花

加载中
0
tngou
tngou

应该是一条数据吧:

第一种:

SELECT * FROM wjdb_typical ORDER BY RAND() LIMIT 1;

网上说这种方式的数度比较慢,先是创建一个对应的ORDER BY 一张临时表,然后在这张不表中选择一个数据。

第二种
SELECT * FROM `wjdb_typical` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `wjdb_typical` ) ORDER BY id LIMIT 1;

这种方式主要是先做ID的随机,然后在通过随机的ID取得一个数据。这里按理来说是要快一点。

0
0-1
0-1
以下是以前的笔记,不怎么对题,供参考:  测试时在select 中增加rand()*min(id), 实现随机查询。 用order by rand() limit 3的效率会很低。
返回顶部
顶部