laravel查询计算平均值

时间:2017-01-12 15:30:11

标签: laravel controller average php-carbon

我希望整个月份的1月份所有销售额的平均值。我的date_sold格式为y / m / d。我可能有许多记录,例如2016-01-23,2015-01,14,2017-01-05都有他们的销售。 我希望获得特定药物或药物的平均销售额,如果它们在1月份出售的话。到目前为止,这是我的控制器,但它只选择了第一条记录

$drug = $request->get('drug');
$stocks = DB::table('sales')
 ->join('drugs', 'drugs.id', '=', 'sales.drug_id')
 ->select('sales.*','drugs.name', DB::raw ('AVG(sales.quantity_sold) as average_sales'))
 ->whereIn('drug_id', $drug)
 ->whereMonth('complete_sold','=', Carbon::today()->month)
 ->get();

1 个答案:

答案 0 :(得分:0)

添加groupBy:

$drug = $request->get('drug');
$stocks = DB::table('sales')
 ->join('drugs', 'drugs.id', '=', 'sales.drug_id')
 ->select('sales.*','drugs.name', DB::raw ('AVG(sales.quantity_sold) as average_sales'))
 ->whereIn('drug_id', $drug)
 ->whereMonth('complete_sold','=', Carbon::today()->month)
 ->groupBy('drugs.id')
 ->get();