您的位置:首页 > 数据库 > MySQL

mysql实现随机获取几条数据的方法

2016-02-03 18:30 731 查看
sql语句有几种写法

1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要获取的数据条数;

2:SELECT *FROM
`table` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` ) ORDER
BY id LIMIT 想要获取的数据条数;

3:SELECT
* FROM
`table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM

`table`)) AS id) AS t2 WHERE t1.id >=
t2.id

ORDER BY t1.id ASC LIMIT 想要获取的数据条数;

4:SELECT
* FROM
`table`WHERE id >= (SELECT floor(RAND()
* (SELECT MAX(id) FROM
`table`))) ORDER BY id LIMIT

想要获取的数据条数;

5:SELECT
* FROM
`table` WHERE id >= (SELECT floor( RAND() * ((SELECT MAX(id) FROM
`table`)-(SELECT MIN(id) FROM
`table`)) + (SELECT MIN(id) FROM
`table`))) ORDER BY id LIMIT
想要获取的数据条数;

6:SELECT
* FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2 WHERE
t1.id >= t2.id ORDER BY t1.id LIMIT

想要获取的数据条数;

1的查询时间>>2的查询时间>>5的查询时间>6的查询时间>4的查询时间>3的查询时间,也就是3的效率最高。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: