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...