sql >> Base de Datos >  >> RDS >> Mysql

Elocuente encontrar la fila con el valor máximo con agrupación

usando Raw Builder, puede usar a continuación si usa elocuente, simplemente elimine los nombres de las tablas y reemplácelos con su instancia de modelo

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