偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MySQL隨機(jī)查詢的實(shí)現(xiàn)方法

數(shù)據(jù)庫(kù) MySQL
MySQL中的查詢方法非常的多,隨機(jī)查詢就是其中之一,下文就教您一個(gè)隨機(jī)查詢的實(shí)現(xiàn)方法,供您參考學(xué)習(xí)之用。

MySQL隨機(jī)查詢是我們經(jīng)常要用到的查詢方式,下面就為您介紹MySQL隨機(jī)查詢的方法,先讓我們了解MySQL隨機(jī)查詢的基本語(yǔ)法:

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

rand在手冊(cè)里是這么說(shuō)的:
RAND()
RAND(N)
返回在范圍0到1.0內(nèi)的隨機(jī)浮點(diǎn)值。如果一個(gè)整數(shù)參數(shù)N被指定,它被用作種子值。

  1. mysql> select RAND();   
  2. -> 0.5925   
  3. mysql> select RAND(20);   
  4. -> 0.1811   
  5. mysql> select RAND(20);   
  6. -> 0.1811   
  7. mysql> select RAND();   
  8. -> 0.2079   
  9. mysql> select RAND();   
  10. -> 0.7888   

你不能在一個(gè)ORDER BY子句用RAND()值使用列,因?yàn)镺RDER BY將重復(fù)計(jì)算列多次。然而在MySQL3.23中,你可以做: SELECT * FROM table_name ORDER BY RAND(),這是有利于得到一個(gè)來(lái)自SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000的集合的隨機(jī)樣本。注意在一個(gè)WHERE子句里的一個(gè)RAND()將在每次WHERE被執(zhí)行時(shí)重新評(píng)估。

但我試了一下,8千條記錄的表,執(zhí)行一次需要0.08 sec,.慢了些

而使用下列語(yǔ)句:

  1. SELECT *   
  2. FROM table_name AS r1 JOIN   
  3. (SELECT ROUND(RAND() *   
  4. (SELECT MAX(id)   
  5. FROM table_name)) AS id)   
  6. AS r2   
  7. WHERE r1.id >= r2.id   
  8. ORDER BY r1.id ASC   
  9. LIMIT 5;  
  10.  

執(zhí)行效率需要0.02 sec.可惜的是,只有mysql 4.1.*以上才支持這樣的子查詢.


 

【編輯推薦】

MySQL查詢分頁(yè)的優(yōu)化

MySQL查詢結(jié)果按某值排序

使用函數(shù)實(shí)現(xiàn)MySQL查詢行號(hào)

MySQL查詢中的非空問(wèn)題

MySQL查詢超時(shí)問(wèn)題的解決

 

責(zé)任編輯:段燃 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-10-09 15:35:25

MySQL rand函

2010-10-14 16:27:56

MySQL隨機(jī)查詢

2010-10-13 16:59:28

mysql查詢

2010-10-15 13:37:08

獲取Mysql數(shù)據(jù)

2010-10-14 14:28:03

Mysql多表查詢

2010-11-22 15:56:34

Mysql多表查詢

2010-10-14 15:07:44

MySQL慢查詢

2010-11-25 14:05:15

MySQL查詢中間記錄

2010-05-31 16:46:40

2010-10-13 17:22:12

MySQL查詢亂碼

2010-11-25 15:43:02

MYSQL查詢重復(fù)記錄

2010-10-14 09:15:20

MySQL查詢

2010-11-02 11:08:11

DB2循環(huán)查詢

2010-10-11 11:58:12

2010-10-15 10:58:13

Mysql清空表

2010-11-24 16:53:16

MySQL無(wú)重復(fù)查詢

2010-05-26 11:00:57

MySQL top n

2010-10-13 16:31:18

優(yōu)化MySQL查詢

2010-05-18 17:32:33

MySQL查詢優(yōu)化

2010-11-25 16:29:26

MySQL慢日志查詢
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)