Mysql
 sql >> Base de données >  >> RDS >> Mysql

Recherche éloquente de la ligne avec la valeur maximale avec regroupement

en utilisant raw Builder, vous pouvez utiliser ci-dessous si vous utilisez éloquent, supprimez simplement les noms de table et remplacez-les par votre instance de modèle

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();