2

我的 MySQL 有问题。我必须选择只满足一个条件的所有行。如果条件是两个 XOR 就可以解决问题,但是如果条件更多,则不是解决方案。必须进行这些逻辑运算:

A:1 B:1 C:1 => 0
A:0 B:0 C:0 => 0
A:0 B:1 C:1 => 0
A:0 B:0 C:1 => 1
A: 1 B:0 C:0 => 1
A:1 B:0 C:0 D:0 => 1
A:1 B:0 C:1 D:0 => 0

只有当一个条件为真而其他条件为假时,它才必须为真。

PS条件的数量是可变的

4

3 回答 3

2
select * from your_table
where A+B+C+D = 1
于 2013-06-27T11:38:05.850 回答
2
SELECT * FROM 
WHERE IF(<cond1>, 1, 0)+IF(<cond2>, 1, 0)+(...)+IF(<condN>, 1, 0) = 1
于 2013-06-27T11:47:28.583 回答
0

使用嵌套的异或,然后使用计数看看有多少是满意的?只是一个想法,我并不完全了解这个问题。

于 2013-06-27T11:40:53.350 回答