laravel查询php如何获取范围内的最大值

Posted

技术标签:

【中文标题】laravel查询php如何获取范围内的最大值【英文标题】:laravel query php how to get max value within a range 【发布时间】:2015-12-03 14:39:39 【问题描述】:

你好我如何获得分数的最大值,其中列 ID 范围从 3-5 开始 示例表

我想获取分数的最大值,其中列 ID 范围为 3-5 ,请帮忙,

到目前为止我做了什么:

$max_scores_table= DB::table('scores_table')
->where('id', '>', 2)
->max('score');

另一个问题是当我在表格中有小数点时 当我使用 max() 函数时,它得到的 ID=5,得分为 4.5,而不是 ID=4,值为 4.6,提前 tnx

【问题讨论】:

【参考方案1】:

尝试使用whereBetween 希望这有效:

$max_scores_table= DB::table('scores_table')
    ->select(DB::raw('MAX(score) FROM scores_table as MaxScore'))
    ->whereBetween('id', array(3,5))
    ->where('score', 'MaxScore')
    ->get();

或者:

$max_scores_table= DB::table('scores_table')
    ->whereBetween('id', array(3,5))
    ->max('score')
    ->get();

【讨论】:

tnx 它有效,但我忘了提另一个问题,如果它适合在这里添加,我怎样才能获得有小数点的最大值,抱歉添加另一个问题,我只是编辑我的问题^_^【参考方案2】:

如下编写查询:

$max_scores_table = DB::table('scores_table')
     ->whereBetween('id',array(3,5))
     ->max('score');

参考:Laravel API

【讨论】:

【参考方案3】:

使用这样的查询

$max_scores_table = DB::table('scores_table')
                    ->whereBetween('id', array(3, 5))->max('score')->get();

请关注Laravel Documentation

【讨论】:

以上是关于laravel查询php如何获取范围内的最大值的主要内容,如果未能解决你的问题,请参考以下文章

php框架 laravel 多重条件查询。对数据库查询,在满足日期范围查询的同时在满足一个或几个条件查询。

当时间范围在两天之间时如何获取特定时间范围内的记录

从 Laravel 中的坐标获取半径内的用户

如何检查光标范围内的最大值?

如何在 foreach 循环内的 laravel 刀片文件中运行不同的 SELECT 查询?

SQL在where语句中使用日期范围的选择子查询来确定该日期范围内的最大值