【发布时间】:2020-06-24 18:54:31
【问题描述】:
我有 9 个二进制列(值 0/1)。我需要从整个表中过滤掉这 9 列中的任何一个值为 1 的行。所以我正在使用:
select *
from T
where (colA = 1 or colB = 1 or colC = 1 or colD = 1 or ...... colH = 1 or colI = 1)
但是这 2 列中的任何一个也可以同时具有值 1,例如 colA = 1 and colB = 1 同时。因此,要在 9 列上检查这些,我必须编写此查询 55 次。
我如何编写一个查询,以便它在所有 9 个中查找具有相同值的任何 2 并计算其数量。
【问题讨论】:
-
我需要过滤掉行... 与 编写查询不同,这样它将在所有 9 个具有相同的值并计算其数量。说明你想要什么。
标签: sql sql-server amazon-athena