我在laravel雄辩的提问中有一个错误:
“选择列表的表达式不在group by子句中,并且包含未聚合的列”
$data = DB::table('passages')
->select('passages.*','users.name','users.family','valid_users.user_id','valid_users.valid_card_id','valid_users.valid_card_decimal','valid_users.valid_card_hex')
->join('valid_users','valid_users.id','=','passages.valid_user_id')
->join('users','valid_users.user_id','=','users.id')
->join('accounts','accounts.user_id','=','users.id')
->whereIn('accounts.role_id',$roles)
->groupBy('valid_user_id')
->get();
2条答案
按热度按时间az31mfrm1#
每当我们使用GROUPBY子句时,我们选择的其他列都必须使用aggegate函数(如:min、max、avg、sum)。
例子:
tgabmvqs2#
查找最后一行的一种方法是使用一个相关的子查询,该子查询标识last(假设您有这样做的方法),在本例中,last被标识为max auto\u incremented id