因此,我试图完成的是表中的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/

10-12 20:58