mysql高级特性之集合函数--

mysql高级特性之集合函数--

ID:22371668

大小:66.50 KB

页数:8页

时间:2018-10-28

mysql高级特性之集合函数--_第1页
mysql高级特性之集合函数--_第2页
mysql高级特性之集合函数--_第3页
mysql高级特性之集合函数--_第4页
mysql高级特性之集合函数--_第5页
资源描述:

《mysql高级特性之集合函数--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、MySQL高级特性之集合函数>>  到现在为止,你只学习了如何根据特定的条件从表中取出一条或多条记录。但是,假如你想对一个表中的记录进行数据统计。例如,如果你想统计存储在表中的一次民意测验的投票结果。或者你想知道一个访问者在你的站点上平均花费了多少时间。要对表中的任何类型的数据进行统计,都需要使用集合函数。你可以统计记录数目,平均值,最小值,最大值,或者求和。当你使用一个集合函数时,它只返回一个数,该数值代表这几个统计值之一。  这些函数的最大特点就是经常和GROUPBY语句配合使用,需要注意的是集合函数不能和非分组的列混合使用。  行列计数  计算查询语句返回的记录行数

2、  直接计算函数COUNT(*)的值,例如,计算pet表中猫的只数:  mysql>SELECTcount(*)FROMpetpet;  +----------------+  

3、count(species)

4、  +----------------+  

5、9

6、  +----------------+  如果相同的种类出现了不止一次,该种类将会被计算多次。如果你想知道种类为某个特定值的宠物有多少个,你可以使用petpetpet;  +-------------------------+  

7、COUNT(DISTINCTspecies)

8、  +-------------

9、------------+  

10、5

11、  +-------------------------+  如果种类'cat'出现了不止一次,它将只被计算一次。关键字DISTINCT决定了只有互不相同的值才被计算。  通常,当你使用COUNT()时,字段中的空值将被忽略。  另外,COUNT()函数通常和GROUPBY子句配合使用,例如可以这样返回每种宠物的数目:  mysql>SELECTspecies,count(*)FROMpetGROUPBYspecies;  +---------+----------+  

12、species

13、count(*)

14、  +-

15、--------+----------+  

16、bird

17、2

18、  

19、cat

20、2

21、  

22、dog

23、3

24、  

25、hamster

26、1

27、  

28、snake

29、1

30、  +---------+----------+  计算字段的平均值  需要计算这些值的平均值。使用函数AVG(),你可以返回一个字段中所有值的平均值。  假如你对你的站点进行一次较为复杂的民意调查。访问者可以在1到10之间投票,表示他们喜欢你站点的程度。你把投票结果保存在名为vote的INT型字段中。要计算你的用户投票的平均值,你需要使用函数AVG():  SELECTAVG(vote)FROMopinion  这个SELECT

31、语句的返回值代表用户对你站点的平均喜欢程度。函数AVG()只能对数值型字段使用。这个函数在计算平均值时也忽略空值。  再给出一个实际例子,例如我们要计算pet表中每种动物年龄的平均值,那么使用AVG()函数和GROUPBY子句:  mysql>SELECTspecies,AVG(CURDATE()-birth)FROMpetGROUPBYspecies;  返回的结果为:  +---------+----------------------+  

32、species

33、AVG(CURDATE()-birth)

34、  +---------+------------------

35、----+  

36、bird

37、34160

38、  

39、cat

40、74959.5

41、  

42、dog

43、112829.66666667

44、  

45、hamster

46、19890

47、  

48、snake

49、49791

50、  +---------+----------------------+  计算字段值的和  假设你的站点被用来出售某种商品,已经运行了两个月,是该计算赚了多少钱的时候了。假设有一个名为orders的表用来记录所有访问者的定购信息。要计算所有定购量的总和,你可以使用函数SUM():  SELECTSUM(pur12下一页>>>>这篇文章来自..,。chase_amount)FROMorders  

51、函数SUM()的返回值代表字段purchase_amount中所有值的总和。字段purchase_amount的数据类型也许是DECIMAL类型,但你也可以对其它数值型字段使用函数SUM()。  用一个不太恰当的例子说明,我们计算pet表中同种宠物的年龄的总和:  mysql>SELECTspecies,SUM(CURDATE()-birth)FROMpetGROUPBYspecies;  你可以查看结果,与前一个例子对照:  +---------+----------------------+  

52、species

53、SU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。