重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
从mysql数据库表中随机获取数据
网站的建设创新互联公司专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为餐厅设计等企业提供专业服务。
其实,从数据库随机获取数据,很简单,只须用到一个rand()函数;
select * from table_name order by rand() limit 0,5;
下面是一个小实例:
从文章表中随机获取5条数据。
$dblink=mysql_connect("localhost","root","123456");
mysql_query("set names utf8");
mysql_select_db("aixuexi");
$sql="select * from waxx_article order by rand() limit 0,5";
$rs=mysql_query($sql);
while($row=mysql_fetch_array($rs)){
$rows[]=$row;
}
if($rows){
foreach($rows as $v){
?
div style="width:350px;height:35px;line-height:35px;border:1px solid #ccc;"?php echo $v['title']; ?/div
?php
}
}else{
echo "暂无文章";
}
给你举个例子吧(随机从user表取出一个数据):select * from `user` order by rand() limit 1
当然也可以使用编程语言,比如Java获取到所有记录的长度,然后使用Random方法随机选择一条查询,可以看看这篇文章
这里提供一个思路。先算出表的每条记录里某字段值的概率,然后根据某个特定的概率作筛选条件,再用随机函数和limit关键字取出符合该特定概率的若干条记录。
1:你要随机更新的话。要先查几条随机数据。然后根据查询的数据一个特定字段去更新。但是又不能在查询的时候同时更新。会报错。要先将查询出来的存储到临时表。再进行修改。
下面是我的s_grader 表结构和我的SQL语句。就实现了随机查询两条。然后进行修改。要随机修改几条就把Limit后面的2改成几。亲测可行。
UPDATE s_grader SET Sgrad='999' WHERE Sname in ( SELECT F.Sname FROM (SELECT * FROM s_grader ORDER BY RAND() LIMIT 2) F)