因此,我试图完成的是表中的select all,但我只希望在5列中至少有3列/值被设置为非空(但它们可能设置为0)的行。
我试过很多关于IF的东西,但都没有成功。我不知道这是否可能。
这似乎很简单,但我似乎找不到正确的逻辑。
最佳答案
您可以使用ISNULL()
并添加结果:
SELECT * from Table
WHERE ISNULL(c1) + ISNULL(c2) + ISNULL(c3) + ISNULL(c4) + ISNULL(c5) <= 2
小提琴:http://sqlfiddle.com/#!2/6df63
ISNULL()
文档:Returns 1
when the column is null, 0
otherwise.关于mysql - MySQL SELECT语句仅返回以下行,如果/如果给定数量的col不为null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19064020/