>  기사  >  PHP 프레임워크  >  laravel은 mysql 데이터베이스에서 n개의 데이터를 무작위로 추출합니다(고성능).

laravel은 mysql 데이터베이스에서 n개의 데이터를 무작위로 추출합니다(고성능).

藏色散人
藏色散人앞으로
2020-07-03 11:54:503794검색

다음 튜토리얼 칼럼인 Laravel에서는 laravel이 mysql 데이터베이스에서 n개의 데이터를 무작위로 추출하는 방법을 소개합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

laravel은 mysql 데이터베이스에서 n개의 데이터를 무작위로 추출합니다(고성능).

laravel은 어떻게 mysql 데이터베이스에서 n개의 데이터를 고성능으로 무작위로 얻나요? 때로는 데이터베이스에서 무작위로 데이터를 가져와야 하는 경우가 있습니다. 예를 들어 직원에게 무작위로 10개의 주문을 할당하고 데이터베이스에서 무작위로 100개의 주문을 확인합니다. 사용자이므로 데이터베이스에서 무작위로 데이터를 가져와야 합니다.

1. 기본 SQL을 사용하여 데이터베이스에서 100개의 데이터를 가져옵니다.

Mysql 공식 웹사이트에서 볼 수 있듯이 ORDER BY RAND()를 사용할 수 있습니다. code> 및 <code>LIMIT 를 함께 사용하면 여러 결과 행에서 임의의 부분을 선택하는 데 사용할 수 있습니다. Mysql官网可以看到,可以让ORDER BY RAND()LIMIT一起使用,可以用于从多行结果中选取随机的一部分。

SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100;

那么在laravel中使用原生SQL也很简单,如下所示:

$info = DB::select(&#39;SELECT * FROM table WHERE name="" ORDER BY RAND() LIMIT 100&#39;);

二、使用原始表达式从数据随机获取数据

我们都知道laravel的原始表达式,我们可以使用DB::raw('RAND()')从数据库随机获取数据。同时你还可以使用orderByRaw('RAND()')从数据库随机获取数据,和DB::raw('RAND()')效果一样

$info=self::where(&#39;dealing&#39;,&#39;<>&#39;,&#39;&#39;)
        ->orderBy(DB::raw(&#39;RAND()&#39;))
        ->take(5)
        ->get();

三、使用laravel的inRandomOrder方法随机获取数据

laravel中使inRandomOrder

$info = DB::table(&#39;users&#39;)
            ->inRandomOrder()
            ->take(5)
            ->get();

그런 다음 laravel에서 기본 SQL을 사용하는 것도 아래와 같이 매우 간단합니다.

rrreee

🎜 2. 원시 표현식을 사용하여 데이터에서 무작위로 데이터를 가져옵니다.🎜🎜🎜우리 모두는 laravel의 원시 표현식을 알고 있으므로 DB::raw('RAND()')데이터베이스에서 무작위로 데이터를 가져옵니다. 동시에 orderByRaw('RAND()')를 사용하여 데이터베이스에서 무작위로 데이터를 얻을 수도 있습니다. 이는 DB::raw('RAND()와 동일한 효과가 있습니다. ')🎜rrreee🎜 🎜3. laravel의 inRandomOrder 메소드를 사용하여 무작위로 데이터를 얻습니다. 🎜🎜🎜laravel에서 inRandomOrder는 데이터 결과를 무작위로 정렬하여 무작위로 데이터를 얻는 효과를 얻습니다. 데이터베이스: 🎜rrreee🎜 🎜

위 내용은 laravel은 mysql 데이터베이스에서 n개의 데이터를 무작위로 추출합니다(고성능).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제