分类: Mysql/postgreSQL
2009-07-11 14:30:40
mysql的手册中对SUM函数的介绍非常简单和含糊, 今天在搜资料的时候发现SUM函数的参数还可以加入条件判断.
比如有如下的一个表:
日期 支出项目名称 支出类别 支出金额 类别编号
现在要对每天, 每种支出类别的总和建立一个视图,可以用这样的语句:
CREATE VIEW `tbl_view` AS SELECT
日期,
SUM( IF( 类别编号 =1, 支出金额, 0 ) ) AS 其它支出,
SUM( IF( 类别编号 =2, 支出金额, 0 ) ) AS 发票,
SUM( IF( 类别编号 =3, 支出金额, 0 ) ) AS 吧台支出,
SUM( IF( 类别编号 =4, 支出金额, 0 ) ) AS 办公用品
FROM `tbl`
ORDER BY `日期`
GROUP BY `日期`
建好的视图 tbl_view会是这个样子:
日期 其它支出 发票 吧台支出 办公用品
语句 SUM( IF( 类别编号 =1, 支出金额, 0 ) ) AS 其它支出,
表示当类别编号为1的时候对支出金额列求和, 第三个参数0不太清楚,
大概是缺省值为0的意思吧.