sql >> Databáze >  >> RDS >> Mysql

Laravel výmluvný získat nejběžnější hodnotu ve sloupci databáze

Výmluvné:

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

Výstup:

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

Totéž s Query Builder:

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

Výstup:

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

Jistě existuje

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. Vytvořte kontingenční zobrazení v SQL z tabulky SQL

  2. Proč jsou UNION dotazy v MySQL tak pomalé?

  3. VYBERTE mnoho až mnoho tabulek v jednom dotazu

  4. PHP Database Dump Script - jsou nějaké problémy?