我想看看 matches
have as status:3和5,所以假设我有一个 matches
这样地:
id | round_id | status
1 28 3
2 28 3
3 28 5
4 28 5
查询结果应返回 true
因为所有的 matches
可用状态为 3
或者 5
. 我写了这个问题:
SELECT (SELECT COUNT(DISTINCT `status`) FROM `match` WHERE round_id = 28 AND (`status` = 3 OR`status` = 5)) = 1 AS result
但这会回来的 0
3条答案
按热度按时间mwg9r5ms1#
试试这个:
xlpyo6sf2#
你可以做:
您可以使用
group by round_id
.mysql将布尔表达式视为数字上下文中的数字,true为“1”,false为“0”。所以,
sum(status in (3, 5))
统计具有这两种状态的行数。比较将检查这些是否都是行。u5i3ibmn3#
你可以用
exists
: