ホームページ > 記事 > PHPフレームワーク > laravelはmysqlデータベースからn個のデータをランダムに抽出します(高パフォーマンス)
Laravel の次のチュートリアル コラムでは、laravel が mysql データベースから n 個のデータをランダムに抽出する方法を紹介します。必要!
laravel はどのようにして mysql データベースから n 個のデータを高パフォーマンスでランダムに取得しますか? 場合によっては、データベースからデータをランダムに取得する必要があることがよくあります (例: 10 個をランダムに割り当てる)スタッフの命令に従って、データベースから 100 人のユーザーをランダムにチェックするように、データベースからデータをランダムに取得する必要があります。
1. ネイティブ SQL を使用してデータベースから 100 個のデータを取得しますMysql
公式 Web サイトからわかるように、次のことができます。 ORDER BY RAND ()
LIMIT
と一緒に使用すると、結果の複数行からランダムな部分を選択できます。 <pre class="brush:php;toolbar:false;">SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100;</pre>
次に示すように、laravel でネイティブ SQL を使用することも非常に簡単です:
$info = DB::select('SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100');2. オリジナルの式を使用してデータからランダムにデータを取得します
laravel の元の式は誰もが知っているので、
DB::raw('RAND()') を使用してデータベースからランダムなデータを取得できます。同時に、orderByRaw('RAND()')
を使用してデータベースからランダムにデータを取得することもできます。これは、DB::raw('RAND()' と同じ効果があります) )
<pre class="brush:php;toolbar:false;">$info=self::where(&#39;dealing&#39;,&#39;<>&#39;,&#39;&#39;)
->orderBy(DB::raw(&#39;RAND()&#39;))
->take(5)
->get();</pre>
laravel は
inRandomOrder を使用して、達成するデータの結果をランダムに並べ替えますデータベースからデータをランダムに取得することが目的です。効果: <pre class="brush:php;toolbar:false;">$info = DB::table(&#39;users&#39;)
->inRandomOrder()
->take(5)
->get();</pre>
以上がlaravelはmysqlデータベースからn個のデータをランダムに抽出します(高パフォーマンス)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。