mysql實現隨機獲取幾條資料的方法

2021-07-09 20:09:28 字數 1091 閱讀 9022

sql語句有幾種寫法

1:select * from tablename order by rand() limit 想要獲取的資料條數; 2:

select *

from `table` 

where id >= (select floor( max(id) * rand()) from `table` ) 

order by id limit 想要獲取的資料條數; 3:

select * from `table`

as t1 join (select round(rand() * (select max(id) from `table`

)) as id) as t2 

where t1.id >= t2.id

order by t1.id asc limit 想要獲取的資料條數;

4:select * from

`table`

where id >= (select floor(rand() * (select max(id) from `table`

))) 

order by id limit 想要獲取的資料條數;

5:select * from `table` where id >= (select floor( rand() * ((select max(id) from `table`)-(select min(id) from `table`)) + (select min(id) from `table`))) order by id limit 想要獲取的資料條數;

6:select * from `table` as t1 join (select round(rand() * ((select max(id) from `table`)-(select min(id) from `table`))+(select min(id) from `table`)) as id) as t2 

where t1.id >= t2.id 

order by t1.id limit 想要獲取的資料條數;

1的查詢時間》2的查詢時間》5的查詢時間》6的查詢時間》4的查詢時間》3的查詢時間,也就是3的效率最高。

MYSQL隨機抽取資料庫裡的幾條資料

mysql use discuz database changed mysql select username from cdb members order by rand limit 0,5 username hahamimi hyp323 zjh00958 夢有知 winteralways 5 ...

sql 隨機抽取幾條資料的方法

前段時間在做專案的時刻。總是遇到這樣乙個問題。就是要怎麼去讓首頁顯示的內容不斷的變化。想了很久。也沒有什麼結果。後面去想了一下。得出以下乙個結果 傳說用這個語句管用 select top 5 from tablename order by newid 我放到sql的查詢分析器裡去執行果然管用,隨機抽...

sql 隨機抽取幾條資料的方法 推薦

傳說用這個語句管用 select top 5 from tablename order by newid 我放到sql的查詢分析器裡去執行果然管用,隨機抽取5條資訊,不停的換,結果我應用到程式裡的時候就不管用了,總是那幾條,於是對這個東西進行了乙個研究得出另一種方法 newid 可以產生如 4986...