php 複数のデータをランダムに取得する Mysql メソッド: 1. "SELECT * FROM tablename ORDER BY RAND() LIMIT" を通じてデータを取得します; 2. "ORDER BY t1.id ASC LIMIT" を通じて指定されたアイテムを取得しますデータ数など
#この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。
php mysql はどのようにして複数のデータをランダムに取得しますか?
mysql で複数のデータをランダムに取得する方法
次のように書く方法があります。 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 フロア( 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 取得したいデータの数;
フィードバック:
380,000 個のデータを正確に測定し、ランダムに選択された 10 個の値、実行時間は 1 ~ 2 秒です。 2. 20秒以上実行しても反応がなく、3回試しました。 3 取得した 10 個のデータは連続した ID であり、実行には 0.001 秒かかります。 4 ID が 1 ~ 4000 の項目を 10 個ランダムに選択し、0.003 秒間実行して 10 回以上試行します。 5 ID が 1 ~ 4000 の項目を 10 個ランダムに選択し、0.003 秒間実行して 10 回以上試行します。 6 取得した10個のデータは連続したIDであり、実行には0.001秒かかります。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がphp mysqlで複数のデータをランダムに取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。