從mysql數(shù)據(jù)庫表中隨機獲取數(shù)據(jù)
網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)公司專注網(wǎng)站定制,經(jīng)驗豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計體驗!已為餐廳設(shè)計等企業(yè)提供專業(yè)服務(wù)。
其實,從數(shù)據(jù)庫隨機獲取數(shù)據(jù),很簡單,只須用到一個rand()函數(shù);
select * from table_name order by rand() limit 0,5;
下面是一個小實例:
從文章表中隨機獲取5條數(shù)據(jù)。
$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表取出一個數(shù)據(jù)):select * from `user` order by rand() limit 1
當(dāng)然也可以使用編程語言,比如Java獲取到所有記錄的長度,然后使用Random方法隨機選擇一條查詢,可以看看這篇文章
這里提供一個思路。先算出表的每條記錄里某字段值的概率,然后根據(jù)某個特定的概率作篩選條件,再用隨機函數(shù)和limit關(guān)鍵字取出符合該特定概率的若干條記錄。
1:你要隨機更新的話。要先查幾條隨機數(shù)據(jù)。然后根據(jù)查詢的數(shù)據(jù)一個特定字段去更新。但是又不能在查詢的時候同時更新。會報錯。要先將查詢出來的存儲到臨時表。再進行修改。
下面是我的s_grader 表結(jié)構(gòu)和我的SQL語句。就實現(xiàn)了隨機查詢兩條。然后進行修改。要隨機修改幾條就把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)