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

Rel*_*ma2 5 sql where netezza

所以我有一个带有多个WHERE子句的以下形式的SQL语句:

SELECT cols FROM table
WHERE
CONDITION1 OR
CONDITION2 OR 
...
CONDITIONN
Run Code Online (Sandbox Code Playgroud)

我知道如果我运行它,那么我将得到满足上述n个条件中至少一个的所有行.

但是现在,我想返回行,使得至少满足WH条件的k个.有没有办法在SQL中执行此操作而不写出所有n 选择 WHERE子句集的k个子集?

Lam*_*mak 3

这是一种相当乏味的方法,但它应该有效:

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
;
Run Code Online (Sandbox Code Playgroud)