sql >> Databasteknik >  >> RDS >> Mysql

Laravel vältalig få vanligaste värdet i en databas kolumn

Talande:

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

Utdata:

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

Samma sak med Query Builder:

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

Utdata:

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

Visst finns det

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. mysql - något sätt att hjälpa fulltextsökning med ett annat index?

  2. Hur uppdaterar man mysql med python där fält och poster kommer från en ordbok?

  3. MySQL Trigger för att infoga data i olika DB

  4. Hur kontrollerar jag om ett index finns på ett tabellfält i MySQL?