Laravel - 多个 select 查询
Laravel - multiple select query
我想从数据库中的两列中提取数据 table,我不太擅长查询 SQL。当我执行此查询时,出现此错误:
SELECT 列表的表达式 #2 不在 GROUP BY 子句中并且包含...
我错过了什么?
我的查询:
$top_orders = OrderItem::select('name','productId', DB::raw('count(name) as total'))->groupBy('name')->orderBy('total','desc')->take(5)->get();
这是 SQL 标准功能,与 laravel 没有任何关系。您可以将所需的列添加到分组依据或使用诸如求和等聚合函数。
如果指定GROUP BY子句,引用的列必须是SELECT子句中不包含聚合函数的所有列。这些列可以是列、表达式或列列表中的序号。
$top_orders = OrderItem::select('name','productId', DB::raw('count(name) as total'))
->groupBy('name','productId')
->orderBy('total','desc')
->take(5)
->get();
我想从数据库中的两列中提取数据 table,我不太擅长查询 SQL。当我执行此查询时,出现此错误:
SELECT 列表的表达式 #2 不在 GROUP BY 子句中并且包含...
我错过了什么?
我的查询:
$top_orders = OrderItem::select('name','productId', DB::raw('count(name) as total'))->groupBy('name')->orderBy('total','desc')->take(5)->get();
这是 SQL 标准功能,与 laravel 没有任何关系。您可以将所需的列添加到分组依据或使用诸如求和等聚合函数。
如果指定GROUP BY子句,引用的列必须是SELECT子句中不包含聚合函数的所有列。这些列可以是列、表达式或列列表中的序号。
$top_orders = OrderItem::select('name','productId', DB::raw('count(name) as total'))
->groupBy('name','productId')
->orderBy('total','desc')
->take(5)
->get();