0

estoy utilizando Group By para obtener los productos mas vendidos, mi codigo es este:

   $top = DB::table('productosventas')
                    ->select('producto_id', DB::raw('count(*) as total'))
                    ->orderBy('total', 'DESC')
                    ->groupBy('producto_id')
                    ->get();

El codigo suma las ID de los productos, pero en mi tabla tengo el campo Cantidad, es decir la cantidad del producto que fue vendido.

introducir la descripción de la imagen aquí

¿Como puedo multiplicar el ID del producto por la Cantidad utilizando group by?

1 respuesta 1

3

Para obtener la cantidad total vendida de cada producto en lugar de contar el número de filas, puedes modificar tu consulta para sumar el valor de la columna cantidad en lugar de contar el número de filas, usando sum en lugar de count.

$top = DB::table('productosventas')
         ->select('producto_id', DB::raw('SUM(cantidad) as total'))
         ->groupBy('producto_id')
         ->orderBy('total', 'DESC')
         ->get();

¿No es la respuesta que buscas? Examina otras preguntas con la etiqueta o formula tu propia pregunta.