SELECt * FROM (SELECt (CASE WHEN cond1 THEN 1 ELSE 0 END + CASE WHEN cond2 THEN 1 ELSE 0 END + CASE WHEN cond2 THEN 1 ELSE 0 END + ... CASE WHEN cond10 THEN 1 ELSE 0 END ) AS numMatches, other_columns... FROM mytable ) xxx WHERe numMatches > 0 ORDER BY numMatches DESC



