從資料庫隨機獲取資料庫資料庫數據
1. sql 隨機抽取幾條數據的方法 推薦
四種資料庫隨機獲取10條數據的方法
SQL Server:
SELECT TOP 10 * FROM T_USER ORDER BY NEWID()
ORACLE:
SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10
MySQL:
SELECT * FROM T_USER ORDER BY RAND() LIMIT 10
Access:
SELECT TOP 10 * FROM T_USER ORDER BY rnd([一個自動編號欄位])
這條語句在 Access 中的「查詢」中是可以運行並得到隨機結果的,但在 ASP.NET等後台程序代碼中卻無法得到預期的隨機效果。
正確的寫法如下:
以ASP.NET為例:
Random random = new Random(System.Guid.NewGuid().GetHashCode());
int r = random.Next();
string sql = "SELECT TOP 10 * FROM T_USER ORDER BY RND(" + (-r) + "*自動編號欄位)"
2. 我想隨機取出資料庫中的5條數據
你可以先用select * from user取出全部的數據
然後取得rs的最大記錄數(rs.recordcount),然後再隨機取出1到最大記錄數之間的隨機5個數(這步應該很簡單,不用解釋如何做了吧呵呵),然後使用rs.move(你隨機的5個數字之一)就可以分別取出5條記錄來.這個辦法的好處是你的主鍵id不需要是連續的,而絕大多數表都不是連續的呵呵.所以使用Sql語句的where id=隨機數字的方法不是很安全
3. 怎麼從mysql表中隨機取數據
從mysql資料庫表中隨機獲取數據
其實,從資料庫隨機獲取數據,很簡單,只須用到一個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 "暫無文章";
}
4. C# 隨機從資料庫抽取數據。
1:
資料庫查隨即抽取10條QuestionId
放到數組arrayQuestion中
arrayQuestion[0-9]="select
top
10
QuestionId
,NewID()
as
random
from
Question
order
by
random"
2:頁面載入時顯示第一條(定義變數int
n=0;)
第一條數據="select
QuestionTopic
from
Question
where
QuestionId=arrayQuestion[n]"
3:button_onclick事件,點擊顯示下一條數據
n++;
下一條數據="select
QuestionTopic
from
Question
where
QuestionId=arrayQuestion[n]"
我想我講的已經夠詳細了。。。。~~
5. 如何從mysql資料庫的一張表中按不同的比例隨機取數據
隨機排序,然後取前十條即可。
order by rand()
但需要注意的是效率並不高,在負載較重的環境下可能亂猜正會造成問題。
祝好運,望嘩悔采兆耐納。
6. 如何從mysql資料庫中隨機獲取任意條數據
隨機讀取可用newid(),取一條可用top 1
舉例:如在表test中隨機抽取一條未被讀取的數據,執行語句為:
select?top?1?*?from?test?order?by?newid()第一次執行結果:
第二次執行結果:
結論:兩次執行結果有可能一樣,也有可能不一樣,也就是實現了隨機的效果。