乐于分享
好东西不私藏

统计数据|EXCEL与MySQL双向通

统计数据|EXCEL与MySQL双向通

MySQL

上万行数据优先选择

核心关键词:COUNT、AND(且)、OR(或),多条件用IN,重点避括号坑!

1. 基础计数

核心语法:
SELECT COUNT(*) FROM 表名;(统计全表总行数,最常用、性能最优)
SELECT COUNT(字段名) FROM 表名;(统计该字段非空数据,排除NULL)
案例:统计user这张表的总行数:
SELECT COUNT(*) FROM user;

2. 且逻辑(AND):俩条件都满足

核心语法:
SELECT COUNT(*) FROM 表名 WHERE 条件1 AND 条件2;
案例:统计“男且北京”:SELECT COUNT(*) FROM user WHERE gender = '男' AND city = '北京';

3. 或逻辑(OR):俩条件二选一

核心语法:
SELECT COUNT(*) FROM 表名 WHERE 条件1 OR 条件2;
案例:统计“男或北京”:
SELECT COUNT(*) FROM user WHERE gender = '男' OR city = '北京';

4. 多条件或:用IN更省力

核心语法:SELECT COUNT(*) FROM 表名 WHERE 字段 IN(值1, 值2, 值3);
案例:统计“北上广”:
SELECT COUNT(*) FROM user WHERE city IN('北京','上海','广州');

5. 必避坑:且+或混合,必加括号

写法1:SELECT COUNT(*) FROM user WHERE gender='男' AND city='北京' OR city='上海';
统计北京男的+上海的
写法2:SELECT COUNT(*) FROM user WHERE gender = '男' AND (city = '北京' OR city = '上海');
统计男的,北京或者上海的
划重点:逻辑是关键

Excel

万行以下优先使用

1. 基础计数

核心公式:
=ROWS(数据区域)(统计总行数,例:=ROWS(A2:A100))
=COUNTA(数据区域)(统计非空数据,排除空单元格,例:=COUNTA(B2:B100))

2. 且逻辑:用COUNTIFS

核心公式:=COUNTIFS(条件区域1, 条件1, 条件区域2, 条件2)
案例:统计“男且北京”(C列性别,E列城市):=COUNTIFS(C:C,"男",E:E,"北京")

3. 或逻辑:用SUMPRODUCT

核心公式(万能适配):=SUMPRODUCT((条件1)+(条件2)>0)
案例:统计“男或北京”:=SUMPRODUCT((C:C="男")+(E:E="北京")>0)
sumproduct函数教程

4. 多条件或:SUMPRODUCT延伸用法

核心公式:=SUMPRODUCT((条件1)+(条件2)+(条件3)>0)
案例:统计“北上广”(E列城市):=SUMPRODUCT((E:E="北京")+(E:E="上海")+(E:E="广州")>0)

5. 必避坑:且+或混合,必加括号

核心公式:=SUMPRODUCT((条件1)*((条件2)+(条件3)>0))
案例:统计“男且北上”:=SUMPRODUCT((C:C="男")*((E:E="北京")+(E:E="上海")>0))

6. Excel 365福利:COUNTA+FILTER简化版

且逻辑:=COUNTA(FILTER(数据区域,(条件1)*(条件2)))
或逻辑:=COUNTA(FILTER(数据区域,(条件1)+(条件2)>0))

终极总结

MySQL:先基础(COUNT),再且(AND)、或(OR),多或用IN,混合必加括号;
Excel:先基础(ROWS/COUNTA),且用COUNTIFS,或用SUMPRODUCT,混合必加括号;
抄公式就完,不用死记,新手也能秒会!
最近被生活打击得很,我现在每一篇都当最后一篇来写