各種資料庫的隨機抽取函式

2021-08-31 08:28:43 字數 632 閱讀 4134

般的sql語句查詢結果,都是根據語句中指定的某個字段排序,或者根據資料庫設計的預設排序返回記錄結果。而有時可能我們就想通過sql查詢語句獲得某個資料表中隨機的n條記錄,比如返回文章列表的隨機的10條記錄。

以前我記得我倒是通過使用過sql語句的隨機函式返回表中某一段的資料的方法,不過總感覺不太理想。

今天翻閱了一些資料,發現原來有更好的簡便的sql語句可以方便的獲得某個表中n條隨機的記錄,sql語句的寫法是這樣的:

sql server:    select top n * from 表 order by newid()

access:        select top n * from 表 order by rnd(id)         

mysql:          select * from 表 order by rand() limit n

三種哦,sql server 、access、mysql的是不通的,其中sql查詢語句中的n表示你要獲得的記錄條數,簡單吧。

下面來個例子,比如我有一格表名是article,我象隨機抽取其中10條記錄返回結果,我得資料庫是mssql,那麼這條查詢10條隨機記錄的sql語句是這樣寫的:

select top 10 from article order by newid()

隨機抽取資料庫記錄

mysql select from tablename order by rand limit 10 sql server select top 5 from tablename order by newid access select top 5 from tablename order by r...

各種資料庫連線

mysql string driver com.mysql.jdbc.driver 驅動程式 string url jdbc mysql localhost 3306 db name 連線的url,db name為資料庫名 string username username 使用者名稱 string ...

各種資料庫連線

mysql string driver org.gjt.mm.mysql.driver 驅動程式 string url jdbc mysql localhost 3306 db name 連線的url,db name為資料庫名 string username username 使用者名稱 strin...