php mysql怎么随机获取几条数据?
mysql实现随机获取几条数据的方法
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 想要获取的数据条数;
反馈:
实测 38万数据,随机取10条
1 可以随机取值,执行时间1-2秒。
2 运行超过20秒没反应,试了3次。
3 取的10条数据是连续的ID,执行0.001秒。
4 随机取10条,id在1-4000之间,执行0.003秒,试了10次以上。
5 随机取10条,id在1-4000之间,执行0.003秒,试了10次以上。
6 取的10条数据是连续的ID,执行0.001秒。
匿名
2025-11-09
https://collaigo.com 免费在线拼图工具
匿名
2025-10-22
盖楼盖楼!
匿名
2025-08-11
沙发沙发
匿名
2025-08-10
https://at.oiik.cn/bing.html
匿名
2025-02-21
实用,我在开发https://minmail.app/时候使用到了
王飞翔
2024-12-30
亲爱的朋友:您好!中国疫情持续蔓延,很多人症状非常严重持久不愈,医院人满为患,各年龄段随地倒猝死的现象暴增,多省感染手足口、甲流、乙流、支原体、合胞及腺病毒的儿童不断攀升,目前各种天灾人祸,天气异象频发。古今中外的很多预言都说了这几年人类有大灾难,如刘伯温在预言中说 “贫者一万留一千,富者一万留二三”,“贫富若不回心转,看看死期到眼前”, 预言中也告诉世人如何逃离劫难的方法,真心希望您能躲过末劫中的劫难,有个美好的未来,请您务必打开下方网址认真了解,内有躲避瘟疫保平安的方法。网址1:https://github.com/1992513/www/blob/master/README.md?abhgc#1 网址2:bitly.net/55bbbb 网址3:https://d3ankibxiji86m.cloudfront.net/30gj 如打不开请多换几个浏览器试