mysql中count函数和sum函数的用法

编程入门 行业动态 更新时间:2024-10-07 16:23:52

mysql中count<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数和sum函数的用法"/>

mysql中count函数和sum函数的用法

mysql中用于统计的二个函数,而这二个函数通常和group by分组函数配合使用

一、count(*)是统计每一组有多少行

count(*)是将返回表格中所有存在的行的总数包括值为null的行。然而count(列名)将返回表格中除去null以外的所有行的总数(有默认值的列也会被计入)

二、distinct 列名,得到的结果将是除去值为null和重复数据后的结果。

三、sum()分组之后通常需要求和计算(一列多行数据统计)

sum的用法,还可以传入条件判断,可以看一个案例

mysql的手册中对SUM函数的介绍非常简单和含糊, 今天在搜资料的时候发现SUM函数的参数还可以加入条件判断. 
比如有如下的一个表:

日期                    支出项目名称                          支出类别           支出金额             类别编号

2006-07-03          购买发票                                   发票                  709                            2
2006-07-05         华夏干红2瓶(单价32)                吧台支出               64                             3
2006-07-05         鲜橙多33瓶(单价1)                 吧台支出                33                             3
2006-07-05         购雪碧,百事42瓶(单价2)          吧台支出               84                              3
2006-07-05         购菜金                                      其它                   180.6                          1
2006-07-05         手机网络费                               办公用品                   8                         4
2006-07-05         手机SIM卡一张                           办公用品             20                         4
2006-07-05         手机英华OK106一台                    办公用品           310                         4
2006-07-05         购饮料人工费                                吧台支出         3                         3
2006-07-05         冰点水17瓶(单价2)                      吧台支出         34                         3
2006-07-06         广告费                                           其它                 900                         1
2006-07-06         微波炉                                      其它                 299                         1
2006-07-06         垃圾桶                                  其它                        30                         1
2006-07-06         意见簿                                   其它                       20                         1
2006-07-06         冰糖夹                                其它                          4                         1
2006-07-06         开刀                                 其它                            6                         1
2006-07-06         修正液                         办公用品                        2                         4
2006-07-06         圆珠笔芯                       办公用品                     8                         4
2006-07-06         打码机,印泥                 办公用品                       7                         4
2006-07-06         收银夹                         办公用品                       9                         4

现在要对每天, 每种支出类别的总和建立一个视图,可以用这样的语句:

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会是这个样子:

日期                其它支出                发票                吧台支出                办公用品 
2006-07-03        0                        709                0                        0
2006-07-05        180.6                        0                218                        138
2006-07-06        1253                        0                0                        26

总结
语句 SUM( IF( 类别编号 =1, 支出金额, 0 ) ) AS 其它支出,
表示当类别编号为1的时候对支出金额列求和

IF 其实是mysql的一个流程控制函数,
接受三个参数, 当第一个参数的结果为真的时候返回第二个参数, 否则返回第三个参数

 

更多推荐

mysql中count函数和sum函数的用法

本文发布于:2024-03-23 19:25:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741886.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   mysql   count   sum

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!