关于 MySQL 聚合函数 SUM

SUM 相信大家都会用, 例如:

 

SELECT SUM(extcredits1) AS e1 FROM pre_common_credit_log;

 

只是有的时候, 这个需要统计的值有可能是负值, 我们需要区分负值总和与正值总和, 来了解更清楚的情况, 这个时候就可以用到 IF 这个函数了



例如:

 

SELECT 
SUM(IF(extcredits1 > 0, extcredits1, 0)) AS  plus_e1, 
SUM(IF(extcredits1 < 0, extcredits1, 0)) AS minus_e1 FROM 
pre_common_credit_log;

 

MYSQL 手册中是这么解释的:

IF(expr1,expr2,expr3)

如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。
posted @ 2012-05-29 16:35  原虫.july  阅读(5497)  评论(1编辑  收藏  举报