假如数据库中有表table,这是一张记账表,现在要求用SQL算出ID为1的用户的总收入和总支出各是多少
那么就要用到MySQL的流程控制函数了:
select id,
sum(IF(分类='收入',金额,0)) as 总收入,
sum(IF(分类!='收入',金额,0)) as 总支出
from table where id=1
该IF语句中接受三个参数,这里的意思是如果第一个参数分类的值=收入成立就统计第二个参数所在列的和,如果不成立的就返回0,三个参数都要写上.显然第二个sum就是分类不为收入的了.
这样就可以求出如下结果了: