Php 选择多组列时按一列分组[laravel]
我有一个很好用的查询,但是我想选择一个列,而不把它放在GroupBy中。我该怎么做呢 我的问题Php 选择多组列时按一列分组[laravel],php,jquery,sql,database,laravel-5,Php,Jquery,Sql,Database,Laravel 5,我有一个很好用的查询,但是我想选择一个列,而不把它放在GroupBy中。我该怎么做呢 我的问题 $navigation_data_unassigned = DB::table('ccctadm.Shipment')->select('ccctadm.documentruleset.status','rulesetname', 'icon', DB::raw('COUNT(*) As Total'))->join('ccctadm.documentruleset', function
$navigation_data_unassigned = DB::table('ccctadm.Shipment')->select('ccctadm.documentruleset.status','rulesetname', 'icon', DB::raw('COUNT(*) As Total'))->join('ccctadm.documentruleset', function ($join) {
$join->on('ccctadm.Shipment.customergroupcode', '=', 'ccctadm.documentruleset.customergroupcode')->on('ccctadm.Shipment.shipmentcategory', '=', 'ccctadm.documentruleset.shipmentcategory')->on('ccctadm.Shipment.status', '=', 'ccctadm.documentruleset.status');
})->whereNotIn('ccctadm.Shipment.id', function ($query) {
$query->select('shipmentid')->from('ccctadm.shipassign');
})->Where('shipment_cycle', '!=', 'closed')->groupBy('rulesetname', 'icon')->get();
将返回以下查询
rulesetname icon total
---------------------------------------
release fdsdsf.png 20
blank fdsdsf.png 20
restricted fdsdsf.png 20
我想添加更多的列
rulesetname icon status total
---------------------------------------------------
release fdsdsf.png shipped 20
blank fdsdsf.png pending 20
restricted fdsdsf.png shipped 20
因此,我想选择status列并返回其数据,而不将其添加到groupby中,只需删除/跳过groupby查询即可
Where('shipment_cycle', '!=', 'closed')->groupBy('rulesetname', 'icon')->get();
变成这个
Where('shipment_cycle', '!=', 'closed')->get();
提供更多细节。您只想选择一列吗?或者你想要什么?我已经为想要的结果添加了更多解释。我想选择状态列,而不将其添加到groupBy中,因为如果我这样做,我将得到不同的结果。我将加重函数计数(*)作为总计,我还想对结果进行分组,或者在可能的情况下使用distinct