在Laravel中获取具有不同外国ID的列中的最大值
Posted
技术标签:
【中文标题】在Laravel中获取具有不同外国ID的列中的最大值【英文标题】:Get maximum values in column with diferents foreign ids in Laravel 【发布时间】:2020-04-10 10:25:39 【问题描述】:我想从一个列中获取最大值,但是那些值对应两个不同的外来ID,所以我希望它返回每个外来ID的最大数。我不知道我是否必须使用max()
... 目前我只是使用groupBy
和两个外国ID。
这里是 mysqlAdmin 中的表。我想为每个id_group
和id_karatekas
获得最大的bid
:
这是我的代码:
public function soldKarateka()
$response = array('code' => 400, 'error_msg' => []);
self::getBidByKaratekaGroup($response);
return response($response, $response['code']);
private function getBidByKaratekaGroup( & $response)
$bidsPerKarateka = DB::table('bids')
->groupBy('id_group','id_karatekas')
->get();
$response = array('code' => 200, 'Karatekas order by group' => $bidsPerKarateka);
【问题讨论】:
获取最大值是什么意思?只有最大值,你的意思是按列排序 我已经更新了答案。请检查。 【参考方案1】:您应该尝试以下代码来查找最大值。
如果您的表名是bids
,则可以,否则根据您的表名更改名称。
DB::table('bids')
->select([DB::raw('MAX(bids.bid) AS maxbid'), 'bids.id_group', 'bids.id_karatekas'])
->groupBy('bids.id_group', 'bids.id_karatekas')
->get()->toArray();
【讨论】:
【参考方案2】:你试过max函数吗?
我认为下面的 sn-p 会起作用
$data = DB::table('bids')
->select(DB::raw('MAX(bid) as bid'))
->groupBy('id_group', 'id_karatekas')->get();
【讨论】:
是的,但这不起作用,只是获得最大值,而不是每次出价都... 是的!这是!非常感谢!!以上是关于在Laravel中获取具有不同外国ID的列中的最大值的主要内容,如果未能解决你的问题,请参考以下文章