新聞中心
本文操作環(huán)境:Windows7系統(tǒng)、php7.1版、Dell G3電腦。

我們提供的服務有:成都網(wǎng)站設計、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、云巖ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的云巖網(wǎng)站制作公司
php mysql怎么隨機獲取幾條數(shù)據(jù)?
mysql實現(xiàn)隨機獲取幾條數(shù)據(jù)的方法
sql語句有幾種寫法:
1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要獲取的數(shù)據(jù)條數(shù);
2:SELECT *FROM `table` WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM `table` ) ORDER BY id LIMIT 想要獲取的數(shù)據(jù)條數(shù);
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 想要獲取的數(shù)據(jù)條數(shù);
4:SELECT * FROM `table`WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `table`))) ORDER BY id LIMIT 想要獲取的數(shù)據(jù)條數(shù);
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 想要獲取的數(shù)據(jù)條數(shù);
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 想要獲取的數(shù)據(jù)條數(shù);
反饋:
實測 38萬數(shù)據(jù),隨機取10條 1 可以隨機取值,執(zhí)行時間1-2秒。 2 運行超過20秒沒反應,試了3次。 3 取的10條數(shù)據(jù)是連續(xù)的ID,執(zhí)行0.001秒。 4 隨機取10條,id在1-4000之間,執(zhí)行0.003秒,試了10次以上。 5 隨機取10條,id在1-4000之間,執(zhí)行0.003秒,試了10次以上。 6 取的10條數(shù)據(jù)是連續(xù)的ID,執(zhí)行0.001秒。
當前標題:phpmysql怎么隨機獲取幾條數(shù)據(jù)
轉載來于:http://www.5511xx.com/article/dpcsssp.html


咨詢
建站咨詢
