我有一个包含 8 列的 MySQL 表(id、user、a、b、c、d、e、f) 其中我有一个不同用户的列表,其列中具有(0 到 9)值,如下所示:
Id User A B C D E F
1 0001 0 1 0 0 0 0
2 0002 0 5 8 4 6 5
3 0003 0 0 0 0 0 5
4 0004 2 6 4 5 4 1
5 0005 1 0 0 0 0 0
6 0006 7 6 5 4 0 9
7 0007 4 0 0 0 0 8]
我想要一个 MySQL 选择查询,它给出具有两个或两个以上非零值的用户的列表。 所以查询应该返回记录id (2,4,6,7)。谢谢
最佳答案
这是另一种方法
select *
from t
where
(
(A <> 0 )+
(B <> 0) +
(C <> 0 )+
(D <> 0 )+
(E <> 0 )+
(F <> 0 )
) >= 2
不等于运算符根据条件返回 bool 值(0/1),您可以对每列的结果求和并根据您的条件消除记录
关于mysql - 选择给出具有两个或两个以上非零值的行的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28089131/