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

Výmluvné nalezení řádku s maximální hodnotou se seskupením

pomocí raw Builderu, který můžete použít níže, pokud používáte výmluvný, stačí odstranit názvy tabulek a nahradit je instancí vašeho modelu

DB::table(DB::raw('shop as s1'))
   ->join(
       DB::raw('(SELECT article, MAX(price) AS price FROM shop GROUP BY article) as s2'), 
     function($query) {
       $query->on('s1.article', '=', 's2.article')
             ->on('s1.price', '=', 's2.price');
     })->get();


  1. Laravel pořadí má mnoho vztahů

  2. SQLite - Vložit data

  3. Kdy použít LEFT JOIN a kdy INNER JOIN?

  4. VYBRAT uživatele z databáze MySQL pomocí bitové masky oprávnění?