av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

MySQL數(shù)據(jù)庫如何從相關(guān)表中取出隨機數(shù)據(jù)?

此文章主要向大家講述的是MySQL數(shù)據(jù)庫從相關(guān)表中取出隨機數(shù)據(jù)的實際操作方案,為了實現(xiàn)隨機,我們從手冊中找到了以下這個語句,可以完成今天的任務(wù),以下就是具體方案的描述,望大家借鑒。

 
 
 
  1. SELECT * FROM table_name ORDER BY rand() LIMIT 5;  

rand在手冊里是這么說的::

RAND()

RAND(N)

返回在范圍0到1.0內(nèi)的隨機浮點值。如果一個整數(shù)參數(shù)N被指定,它被用作種子值。

 
 
 
  1. MySQL(和PHP搭配之最佳組合)> select RAND();   
  2. -> 0.5925   
  3. MySQL(和PHP搭配之最佳組合)> select RAND(20);   
  4. -> 0.1811   
  5. MySQL(和PHP搭配之最佳組合)> select RAND(20);   
  6. -> 0.1811   
  7. MySQL(和PHP搭配之最佳組合)> select RAND();   
  8. -> 0.2079   
  9. MySQL(和PHP搭配之最佳組合)> select RAND();   
  10. -> 0.7888   

你不能在一個ORDER BY子句用RAND()值使用列,因為ORDER BY將重復(fù)計算列多次。然而在MySQL(和PHP搭配之最佳組合)3.23中,你可以做: SELECT * FROM table_name ORDER BY RAND(),這是有利于得到一個來自SELECT * FROM table1,table2 WHERE a=b AND c

注意在一個WHERE子句里的一個RAND()將在每次WHERE被執(zhí)行時重新評估。

但試了一下,8千條記錄的表,執(zhí)行一次需要0.08 sec,慢了些。后來請教了google,得到如下代碼:

 
 
 
  1. SELECT * FROM table_name AS r1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM table_name)) AS id) AS r2 WHERE r1.id >= r2.id ORDER BY r1.id ASC LIMIT 5;  

執(zhí)行效率需要0.02 sec.可惜的是,只有MySQL(和PHP搭配之最佳組合) 4.1.*以上才支持這樣的子查詢.

以上的相關(guān)內(nèi)容就是對MySQL數(shù)據(jù)庫從表中取出隨機數(shù)據(jù)的介紹,望你能有所收獲。

【編輯推薦】

  1. MySQL手動安裝方法和中文解決的實際操作方案
  2. MySQL數(shù)據(jù)庫的相關(guān)論壇設(shè)計的系統(tǒng)架構(gòu)
  3. MySQL5的基礎(chǔ)知識與常見問題
  4. C++庫連接來對MySQL數(shù)據(jù)庫進(jìn)行正確連接
  5. MySQL數(shù)據(jù)庫來支持簡單的圖形計數(shù)器

文章標(biāo)題:MySQL數(shù)據(jù)庫如何從相關(guān)表中取出隨機數(shù)據(jù)?
網(wǎng)頁鏈接:http://uogjgqi.cn/article/djoogei.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流