mysql 使用聚合函数sum()时统计数据时错误
方法/步骤
-
1
sum对于int、char、varchar类型的字段可以直接进行转类型相加,但是对于enum字段却不会转换类型,在统计enum时,我们的第一个选项就是1,第二个选线是2,以此类推。例如:enum('0','1'),那么当字段值为'0'时,sum()统计是1,当字段值是'1'时,统计值为2
-
2
第一种修改方式:
具体统计时可以将字段修改为int、char或者varchar类型,
修改方法:alter table 表名 modify 字段名 字段类型
-
3
第二种方式(if语句):
select sum(if(字段名,字段名,0)) from 表名
-
4
第三种方式(case where)
select sum(case 字段名 when 1 then 1 else 0 end) from 表名
END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
文章评论