ホームページ  >  記事  >  バックエンド開発  >  MySQL データベースからランダム データを取得するコード table_PHP チュートリアル

MySQL データベースからランダム データを取得するコード table_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:54:451010ブラウズ

MySQL テーブルからランダムなデータを抽出する方法
この問題については以前グループで議論したことがありますが、mysql の構文は非常に興味深いものです

彼らは元々、ランダム性を実現するために PHP を使用したいと考えていました。複数のレコードを抽出するには 2 回以上かかります。

マニュアルを調べたところ、タスクを完了できる次のステートメントが見つかりました

SELECT * FROM table_name ORDER BY rand() LIMIT 5;マニュアル:
RAND()
RAND( N)
0 ~ 1.0 の範囲のランダムな浮動小数点値を返します。整数パラメータ N が指定されている場合、それがシード値として使用されます。
mysql> select RAND();
0.5925
mysql> select RAND(20); - - -> 0.2079
sql> select RAND( );
- 0.7888
ORDER BY は列を複数回再計算するため、ORDER BY 句で RAND() 値を持つ列を使用することはできません。ただし、MySQL3.23 では、 SELECT * FROM table_name ORDER BY RAND() を実行できます。これは、 SELECT * FROM table1,table2 WHERE a=b AND c
しかし、私はそれを試しました。8,000レコードのテーブルの場合、1回の実行に0.08秒かかりました。後でGoogleに問い合わせたところ、次のコードが得られました

SELECT *
FROM table_name AS r1 JOIN
( round(rand() *
r2.id
-ord by R1.id asc
limit5;



http://www.bkjia.com/PHPjc/318428.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/318428.html

技術記事

MySQL はテーブルからランダムなデータをどのように取得するのでしょうか? この問題は以前にグループで議論されましたが、mysql の構文は非常に興味深いもので、当初はランダム性を実現するために PHP を使用する予定だったようです。必要です...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。