Mysql SELECT语句只返回行中/如果给定数量的cols不为null

时间:2013-09-28 06:22:23

标签: mysql sql

所以我要完成的是在表中选择all,但我只想要设置至少3列/值的行而不是null(尽管它们可能设置为0),满分5列。

我尝试过IF的一堆东西但是徒劳无功。我不知道是否有可能。

看起来很简单,但我似乎无法找到正确的逻辑。

1 个答案:

答案 0 :(得分:1)

您可以使用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.