【发布时间】:2020-03-18 21:09:07
【问题描述】:
我有一张如下表:
Id | bool1 | bool2 | bool3 | bool4 | boo5 | bool6
100 | 1 | 0 | 1 | 1 | 1 | 0
300 | 0 | 1 | 0 | 1 | 1 | 1
600 | 0 | 0 | 1 | 0 | 1 | 1
我想获取所有与给定行至少有 3 个匹配(真)布尔值的行:
500 | 1 | 1 | 1 | 1 | 0| 1
因此,应该返回 Id 100 和 Id 300,而不是 Id 600。
我尝试了一些东西,比如 CROSS JOIN 以及所有类型的其他连接和子查询。但是,我无法弄清楚如何解决这个查询。
我在这里的问题不是 6 个布尔值,而是必须比较的 25 个。
非常感谢任何帮助。
【问题讨论】: