mysql 如何选择随机行

mysql 如何选择随机行,第1张

1.通过MYSQL内置的函数来 *** 作,具体SQL代码如下:

SELECT * FROM tablename ORDER BY RAND() LIMIT 10

2.不要将大量的工作给数据库去做,这样会导致数据库在某一集中并发时间内锁死并阻塞。

建议通过PHP随机生成一下1-X(总行数)之间的数字,然后将这10个随机数字作为查询条件,具体语句如:

SELECT * FROM tablename where ID in (2,8,4,11,12,9,3,1,33)

可能你还要进行重复排除,并且需要在程序中将10个值串联并连接进入SQL语句中。

create table names(id int,name varchar(10))

insert into names values(1,'张三')

insert into names values(2,'李四')

insert into names values(3,'王五')

insert into names values(4,'赵六')

select replace(b,'张三',t2.name) b from

(select ceiling(rand()*5) id,b from a) t1

left join

(select id,name from names) t2

on t1.id=t2.id

我没有测试,可能有些小问题,但思路应该是对的

给随机姓名编号

a表用随机数生成编号列,对应姓名编号

关联2个表,并替换相应字段


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/8758438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存