mysql 使用聚合函数sum()时统计数据错误

2022年5月20日 28点热度 0人点赞

mysql 使用聚合函数sum()时统计数据时错误

工具/原料

  • mysql

方法/步骤

  1. 1

    sum对于int、char、varchar类型的字段可以直接进行转类型相加,但是对于enum字段却不会转换类型,在统计enum时,我们的第一个选项就是1,第二个选线是2,以此类推。例如:enum('0','1'),那么当字段值为'0'时,sum()统计是1,当字段值是'1'时,统计值为2

  2. 2

    第一种修改方式:

    具体统计时可以将字段修改为int、char或者varchar类型,

    修改方法:alter table 表名 modify 字段名 字段类型

  3. 3

    第二种方式(if语句):

    select sum(if(字段名,字段名,0)) from 表名

  4. 4

    第三种方式(case where)

    select sum(case 字段名 when 1 then 1 else 0 end) from 表名

    END

注意事项

  • 如果需要sum字段,最好不要用enum类型,毕竟转换是需要消耗服务器性能的
  • 如果对于字段值需要严格限制,而且又要使用sum,可以在插入数据前进行判断
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论