- 一个网站允许用户挑选他们认为会赢得某个运动的人,他们会赢得某个运动 的比赛。
- 用户选取记录在表“挑选”比赛结果上传
- 后 谁猜到了正确的结果 且最接近的比分
- 成员赢得
- 一场比赛可以有没有很多获奖者
考虑到上述信息考虑下表:mysql根据条件返回零到许多结果和最接近的结果
假设比赛结果是:
阿森纳3利物浦2
Result = Arsenal By 1
林现在正在寻找一种方式来回报谁猜中正确结果所有成员和得分差异IF NO (零)成员猜对正确返回成员谁猜对了最接近到正确的结果
在上面的例子:
约翰,史蒂芬应退还谁由2
考虑到上述与阿森纳猜测最接近我创建了下面的脚本:
select * from picks where event_id = '$eventId[$key]' and
abs(score-$winScore) = (select min(abs(score-$winScore)) from picks
where pick = '$winner')
上面的脚本是部分但是当多于一个成员应该返回时,它会给出错误的结果,并且只返回一个成员,当没有成员选择正确的时候也会得到错误的结果。
任何想法或帮助我如何解决/解决我的问题?
不,内部查询缺少'event_id'的条件。 – jeroen
@ jeroen。 。 。我最初错过了一个条件,因为样本数据缺少'event_id'。它也错过了赢家。我在修正它,因为你写你的评论 –
@GordonLinoff和Jeroen非常感谢你的男士我会去给它并立即给你反馈 –