小米技术社区
小米技术社区管理员 关于小米

27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]

E-mail:mzze@163.com

Q Q:32362389

W X:xiaomi168527

小米技术社区大牛王飞 关于王飞

27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]

E-mail:wf_live@126.com

Q Q:3940019

微博:王小贱ss

小米技术社区设计小艳 关于小艳

大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]

E-mail:97157726@qq.com

Q Q:97157726

标签云
精品推荐
  • <strong>常见mysql数据库命令</strong>

    常见mysql数据库命令

    update更新//替换phome_ecms_soft的onclick字段数值为857-3857之间,切只有id在1916到1980之间的数据执行update phome_ecms_soft SET onclick=FLOOR(857 + (RAND() * 3000)……
    187人已经看过了
  • 删除命令,清空数据库表的三种方式

    删除命令,清空数据库表的三种方式

    数据表的清空有三种方式: delete------ 是逐行删除速度极慢,不适合大量数据删除。 删除整张表数据:delete from table_name;删除部分表数据:Delete from table_name where 1=1……
    242人已经看过了
您的位置:首页 > 后端编程 > 数据库 > 数据库命令

sql的常用聚合函数aggregation function

分类: 数据库命令37个赞

聚合函数也就是组函数

在一个行(一组行)的集合上进行操作,对每个组给一个结果。


常用的聚合函数有

1. sum()       求和
2. avg()          求平均值
3. max()        求最大值
4. min()          求最小值
5. count(*)      求记录数(包括NULL)
6. count(column)  返回某列的行数(不包括 NULL 值)



1.sum()和avg()

select sum(salary) from salary_tab;
select avg(salary) from salary_tab;

注意:表中列值为null的行不参与计算

要想列值为NULL的行也参与组函数的计算,必须使用IFNULL函数对NULL值做转换。


2.max()和min()

# 语文最高分
mysql> select max(ch) '语文最大值' from stu;
+------------+
| 语文最大值          |
+------------+
|         88 |
+------------+
1 row in set (0.00 sec)

#求语文总分、语文平均分、语文最低分、总人数

mysql> select max(ch) 语文最高分,min(ch) 语文最低分,sum(ch) 语文总分,avg(ch) 语文平均分,count(*) 总人数 from stu;
+------------+------------+----------+------------+--------+
| 语文最高分  | 语文最低分   | 语文总分   | 语文平均分  | 总人数  |
+------------+------------+----------+------------+--------+
|         88 |         55 |      597 |    74.6250 |      9 |
+------------+------------+----------+------------+--------+
1 row in set (0.00 sec)

注意:如果统计的列中只有NULL值,那么MAX和MIN就返回NULL


3.count(*)和count(column)

select count(*) from student;  //返回所有行 包含null
select count(salary) from salary_tab;  //返回salary字段行的数量,不包含null

mysql> select count(distinct salary) from salary_tab; //返回列值非空的、并且列值不重复的行的数量


小米技术社区

本站内容均为小米原创,转载请注明出处:小米技术社区>> sql的常用聚合函数aggregation function