select sum( column1+column2+column3 ) where name='xx' ,
但是当要查询的字段中包含null的话结果会为null,当作一次小记录,提醒自己。
解决方案:
1.如果column1和column2和column3的值都不为NULL,则MySql sum(column1+column2+column3)与sum(column1)+sum(column2)+sum(column3)情况一样
2.如果其中有一个字段的值为NULL则sum(column1+column2+column3)的值为NULL
3.如果不想想这么多,使用ifnull(sum(column1),0)+ifnull(sum(column2),0)+ifnull(sum(column3),0)可一劳永逸,若想进一步对数值类型进行转换来保留两位小数,用法如下cast((1*ifnull(sum(column1),0)+1*ifnull(sum(column2),0)+1*ifnull(sum(column3),0)) as decimal(12,2))
经验节选自:
1.遇见一只小脑斧;
2.w1215142854;
3.Dongguo丶
感谢以上码主提供的知识!