SQL选择是否满足一定数量的WHERE子句

SQL选择是否满足一定数量的WHERE子句,sql,where,netezza,Sql,Where,Netezza,因此,我有一个SQL语句,其形式如下,包含多个WHERE子句: SELECT cols FROM table WHERE CONDITION1 OR CONDITION2 OR ... CONDITIONN 我知道如果我运行这个,那么我将得到至少满足上述n个条件之一的所有行 但现在,我想返回至少k个WHERE条件满足的行。有没有一种方法可以在SQL中这样做,而不必写出WHERE子句集的所有nChoosek子集?这是一种相当乏味的方法,但应该可以: SELECT cols FROM tabl

因此,我有一个SQL语句,其形式如下,包含多个WHERE子句:

SELECT cols FROM table
WHERE
CONDITION1 OR
CONDITION2 OR 
...
CONDITIONN
我知道如果我运行这个,那么我将得到至少满足上述n个条件之一的所有行


但现在,我想返回至少k个WHERE条件满足的行。有没有一种方法可以在SQL中这样做,而不必写出WHERE子句集的所有nChoosek子集?

这是一种相当乏味的方法,但应该可以:

SELECT cols 
FROM table
WHERE 
    CASE WHEN CONDITION1 THEN 1 ELSE 0 END +
    CASE WHEN CONDITION2 THEN 1 ELSE 0 END + 
    CASE WHEN CONDITION3 THEN 1 ELSE 0 END +
    ...
    >= N
;

是MySQL上的一个很好的资源。所有这些都通过示例进行了说明。

您使用的是哪种?netezza sql。。。。
SELECT cols 
FROM table
WHERE 
 CASE status
   CASE WHEN CONDITION1 THEN 1
   CASE WHEN CONDITION2 THEN 1
END