繁体   English   中英

计算mysql表中多个列的总和等于0的记录数

[英]Count number of records with sum of multiple columns equal to 0 in mysql table

我有一张桌子,上面有不同仓库栏的库存。 我需要找出符合以下条件的记录。它是一个mysql数据库。

计算多列总和等于0的记录数。

表的结构

Stock A | Stock B | Stock C | Stock D
0       | 1       | 0       | 0
0       | 0       | 0       | 0
1       | 1       | 1        | 1

这里的输出将是1。

这应该很简单:

create table test (stock_a int, stock_b int, stock_c int, stock_d int);
insert into test values (0,1,0,0), (0,0,0,0), (1,1,1,1);

select count(*) from test where stock_a + stock_b + stock_c + stock_d = 0

Result:
count(*)
--------
1

where子句中包含多个列的总和,因此Count(1)仅计算所有字段总和为零的位置。

Select Count(1) From warehouse 
Where (`Stock A` + `Stock B` + `Stock C` + `Stock D`) = 0

我认为您的表中不会有负值,那么您可以这样做:

SELECT COUNT(*) As cnt
FROM yourtable
WHERE (Stock_A, Stock_B, Stock_C, Stock_D) = (0, 0, 0, 0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM