mysql隨機(jī)取出10條數(shù)據(jù) mysql怎樣隨機(jī)抽取數(shù)據(jù)庫(kù)中的10條內(nèi)容?
mysql怎樣隨機(jī)抽取數(shù)據(jù)庫(kù)中的10條內(nèi)容?SELECT * WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1 取10次,查詢(xún)效率高不耗時(shí)間,且重樣概
mysql怎樣隨機(jī)抽取數(shù)據(jù)庫(kù)中的10條內(nèi)容?
SELECT * WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1 取10次,查詢(xún)效率高不耗時(shí)間,且重樣概率地
sql隨機(jī)抽取幾條數(shù)據(jù)的方法,推薦?
四種數(shù)據(jù)庫(kù)隨機(jī)獲取10條數(shù)據(jù)的方法
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([一個(gè)自動(dòng)編號(hào)字段])
這條語(yǔ)句在 Access 中的“查詢(xún)”中是可以運(yùn)行并得到隨機(jī)結(jié)果的,但在 ASP.NET等后臺(tái)程序代碼中卻無(wú)法得到預(yù)期的隨機(jī)效果。
正確的寫(xiě)法如下:
以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) "*自動(dòng)編號(hào)字段)"
MySQL實(shí)現(xiàn)隨機(jī)獲取幾條數(shù)據(jù)的方法?
1:你要隨機(jī)更新的話(huà)。要先查幾條隨機(jī)數(shù)據(jù)。然后根據(jù)查詢(xún)的數(shù)據(jù)一個(gè)特定字段去更新。但是又不能在查詢(xún)的時(shí)候同時(shí)更新。會(huì)報(bào)錯(cuò)。要先將查詢(xún)出來(lái)的存儲(chǔ)到臨時(shí)表。再進(jìn)行修改。
下面是我的s_grader 表結(jié)構(gòu)和我的SQL語(yǔ)句。就實(shí)現(xiàn)了隨機(jī)查詢(xún)兩條。然后進(jìn)行修改。要隨機(jī)修改幾條就把Limit后面的2改成幾。親測(cè)可行。
UPDATE s_grader SET Sgrad="999" WHERE Sname in ( SELECT F.Sname FROM (SELECT * FROM s_grader ORDER BY RAND() LIMIT 2) F)
php要是隨機(jī)的從數(shù)據(jù)庫(kù)中調(diào)取數(shù)據(jù)怎么實(shí)現(xiàn)啊,請(qǐng)指點(diǎn)?
$sql = "select * from table"$result = mysql_query($sql)$rand = mt_rand(0,mysql_num_rows($result))$i=0while($rs = mysql_fetch_array($result)){ if($rand == $i){ $output = $rs[$i] } $i }$output數(shù)組就是隨機(jī)記錄可以按照樓上說(shuō)的,或者直接在sql上作文章。 order by Rand() limit 10語(yǔ)句后面加上這段,隨機(jī)取出10條來(lái)先按要求調(diào)取,然后對(duì)recordset用隨機(jī)指針定位就可。