sql >> データベース >  >> RDS >> Mysql

Laraveleloquentはデータベース列で最も一般的な値を取得します

    Eloquent:

    App\Animal::select('name')
        ->groupBy('name')
        ->orderByRaw('COUNT(*) DESC')
        ->limit(1)
        ->get();
    

    出力:

    => Illuminate\Database\Eloquent\Collection {#711
         all: [
           App\Animal {#725
             name: "cat",
           },
         ],
       }
    

    クエリビルダーでも同じです:

    DB::table('animals')
        ->select('name')
        ->groupBy('name')
        ->orderByRaw('COUNT(*) DESC')
        ->limit(1)
        ->get();
    

    出力:

    => Illuminate\Support\Collection {#734
         all: [
           {#738
             +"name": "cat",
           },
         ],
       }
    

    確かにあります

    App\Animal::select('name')
        ->selectRaw('COUNT(*) AS count')
        ->groupBy('name')
        ->orderByDesc('count')
        ->limit(1)
        ->get();
    
    => Illuminate\Database\Eloquent\Collection {#711
         all: [
           App\Animal {#725
             name: "cat",
             count: 123
           },
         ],
       }
    



    1. Laravelの流暢なクエリビルダーで複数のテーブルから選択

    2. ORA-00936:式oracleがありません

    3. MySQLでBLOBからTEXTに変換するにはどうすればよいですか?

    4. MySQL POW()関数–値を別の値の累乗に上げる