Sql : SUM(NULLIF(V1=V2)) possible?



使用sum(nullif(v1 = v2))安全吗?我的目的是知道V1是否等于所有行的V2(均可无效),并且由于我在Group语句中使用了这一点,这就是我想到的。还有其他方法可以实现同样的方法吗?

最好在SUM聚合之前使用COALESCE方法。

确定它们是否相等,您可以做:

select (1 -
        max(case when v1 = v2 then 0
                 when v1 is null and v2 is null then 0
                 else 1
             end)
        ) as all_equal
from t;

最新更新