php - Laravel 获取每一列的最高值

标签 php mysql laravel laravel-5

我正在使用 Laravel 5.5,我想知道如何在一次查询中获取每一列的最大值?

这样可以吗,还是要一一查询?

我试过下面的代码。

DB::table('family')->max('children')->max('salary');

当我只尝试 DB::table('family')->max('children') 时,效果很好。但是当我尝试 DB::table('family')->max('children')->max('salary') 时,出现以下错误

Call to a member function max() on string

最佳答案

您可以通过单个查询获得任何一个。

$result = DB::table("family as f")
->select([DB::raw('MAX(f.children) AS children_max'),DB::raw('MAX(f.salary) AS salary_max')])
->groupBy('f.id')
->first();

或者使用单独的->max()方法。

$family = DB::table('family');
$max_children = $family->max('children');
$max_salary = $family->max('salary');

other answer 中获取更多详细信息在Laravel Docs

关于php - Laravel 获取每一列的最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47854453/

相关文章:

php - Laravel websockets导致python套接字错误

php - exec 函数在 PHP 中不起作用

mysql - ALTER TABLE ALL TABLES ROW_FORMAT=固定;

mysql - MySQL 数据库的登录表布局

Laravel Cashier 由于付款方式无效,付款尝试失败

php - Laravel - 采摘变异属性

PHP 表。在新组之前显示总计

php - 如何在 Laravel DB::insert 中返回我的 OUTPUT 子句

mysql - 我怎样才能安全地备份一个巨大的数据库?

url - 获取在 URL Laravel 中传递的变量