如题
假设一个公司有很多部门,现在的需求是查每个部门中(groupBy)工资最高(max())的员工,并且用laravel的paginate分页查询,那么查询语句要怎么写?
<< 上一篇: 跪求laravel开源项目 博客或者商城类的
>> 下一篇: lavaral在centos7上部署以后前台可以访问,访问后台提示500
select(DB::raw('max(工资)'))->groupBy(部门ID)->paginate() 这样不行吗
那如果说以性别和部门为一组,groupBy多个字段要怎么写呢?
我看laravel的文档上的groupBy查出来的数据和原生的mysql的group by不一样:laravel的groupBy是会把数据分层级的,但是我想要的只是原生sql的group by 查出来的效果,即以多个相同字段为一组。
那么要如何实现?
https://laravel.com/docs/5.6/collections#method-groupby
找到了一个适合的解决办法,我记录在博客中了: https://blog.csdn.net/qq_40699305/article/details/87794227
以上需求可以这么写
$sql = 'select from (select from company order by salary desc limit 100000) as t group by section, gender';
$result = DB::table(DB::raw("($sql ) as t"))->paginate(10)
3 Comments
select(DB::raw('max(工资)'))->groupBy(部门ID)->paginate() 这样不行吗
那如果说以性别和部门为一组,groupBy多个字段要怎么写呢?
我看laravel的文档上的groupBy查出来的数据和原生的mysql的group by不一样:laravel的groupBy是会把数据分层级的,但是我想要的只是原生sql的group by 查出来的效果,即以多个相同字段为一组。
那么要如何实现?
https://laravel.com/docs/5.6/collections#method-groupby
找到了一个适合的解决办法,我记录在博客中了: https://blog.csdn.net/qq_40699305/article/details/87794227
以上需求可以这么写
$sql = 'select from (select from company order by salary desc limit 100000) as t group by section, gender';
$result = DB::table(DB::raw("($sql ) as t"))->paginate(10)