我希望整个月份的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();
答案 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();