laravel - 如何在 laravel QueryBuilder 中做到这一点
问题描述
我想取用不同列名排序的进度列的最大值。
例如;
进度 - Journey_id
- 0 - 90
- 12 - 90
- 89 - 90
- 7 - 90
我试图制作的代码,但我不能做更多
$impressions = DB::table('journey_content_impression')
->where('user_id', 11)
->where('journey_id',12)
->select('journey_item_id','progress')->distinct()->get();
最后,它应该给我们一个最大数量的行。此外,行的其他列应该像这样可用,
$impressions->first()->user_id; //
解决方案
尝试这个:
$impressions = DB::table('journey_content_impression')
->where('user_id',{id})
->where('journey_id',{j_id})
->groupBy('journey_item_id')
->get(['journey_item_id', DB::raw('MAX(progress) as progress')]);
推荐阅读
- javascript - 在 React 组件中使用不同的子级重用模式
- regex - ngx.re.match openresty 模块处理点字符的奇怪行为
- c++ - 用于存储的抽象基类的替代方案
- php - 找出 php 中的文件类型
- php - Wordpress 中的标题信息错误
- python-2.7 - Python:向 Excel 中添加“containsText”类型的条件格式
- laravel - 从 ionic 3 浏览器测试转移到 Ionic DevApp & Mobile 测试
- r - blogdown::serve() 多次重建 .rmd 文件
- c - 用定点算法计算浮点数的乘积
- project-server - Project Server PWA - 查找召回的时间表