gpt4 book ai didi

php - 在 laravel 中选择具有最大计数的项目

转载 作者:行者123 更新时间:2023-11-29 03:28:18 25 4
gpt4 key购买 nike

我有一个投票表,它有字段 id,itemId,votes,voteDate。Vot 字段的值为 1(赞成票)或 -1(反对票)。我想选择具有最大赞成票和最大反对票的 itemId(我的意思是,如果我的项目 1 有 3 个赞成票,我的项目 2 有 5 个赞成票,我想在特定时间段(1 周)内选择项目 2)。我的代码是

DB::table('votes')
->leftjoin('items','items.id','=','votes.itemId')
->select('items.title','items.image',DB::raw('sum(votes.votes) as voteSum'))
->whereBetween('voteDate',array($timePeriod,$today))
->get();

我知道这个查询是错误的。请帮助我。

最佳答案

首先,您应该找到 $sum_max_vote_in_the_date_interval。然后使用这个

DB::table('votes')
->leftjoin('items','items.id','=','votes.itemId')
->select('items.title','items.image',DB::raw('sum(votes.votes) as voteSum'))
->whereBetween('voteDate',array($timePeriod,$today))
->havingRaw("SUM(`votes`.`votes`) = ".$sum_max_vote_in_the_date_interval)
->group_by(`votes`.'id')
->get();

DB::table('votes')
->leftjoin('items','items.id','=','votes.itemId')
->select('items.title','items.image',DB::raw('sum(votes.votes) as voteSum'))
->whereBetween('voteDate',array($timePeriod,$today))
->havingRaw("SUM(`votes`.`votes`) = `votes`.`votes`")
->group_by(`votes`.'id')
->get();

希望这对您有所帮助。

关于php - 在 laravel 中选择具有最大计数的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33459379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com