【发布时间】:2018-07-23 10:15:10
【问题描述】:
假设如果所有matches 的状态设置为3,我想选择matches 和MAX 游戏周,或者matches 和MIN 游戏周我该怎么做?
数据样本
id | status | gameweek | round_id
1 3 3 1
2 3 3 1
3 1 3 1
4 1 4 1
5 1 4 1
6 1 4 1
最终结果应该是:1, 2, 3,因为并非所有比赛都已进行。
我能够为MAX 设置查询:
SELECT MAX(gameweek) FROM `match` m WHERE round_id = 1 AND m.status = 3
但是我有一些难以实现的 IF 条件,有人可以帮助我吗?
谢谢。
更新
在用户提出的解决方案中,我注意到我没有很好地解释一个特定情况:如果一轮的所有比赛都没有状态 3,则查询应该返回 round_id 的 MIN(gameweek)指定。
【问题讨论】: