数据库SQL的分组函数

Posted zyn_ningning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库SQL的分组函数相关的知识,希望对你有一定的参考价值。

分组函数:(五个)
	1···max(expr):求expr的最大值 }\  
	2···min(expr):求expr的最小值 }-- 数据类型是有规定的 
	3···sum(expr):求expr的总和   }-- 必须是字符型或数字
	4···avg(expr):求expr的平均值 }/
	5···count(expr):求expr的个数 
		expr的类型不能是空,如果是空,则不计入其中,
		因此需要用到nvl()来进行转换

	group by expr1,expr2,...的用法:
		group by 的后面跟的是炫耀分组的条件,
		例如用 department_id 进行分组,可以写成 group by department_id
		如果需要多重分组,只需要在后面急需添加筛选条件即可;
		Tips:select 语句中不包含分组函数的列,如果用group by 语句,
			 那么就需要全部出现在group by的语句中;

	having expr 的用法:
		当筛选语句中存在 min(),max(),sum(),count(),avg() 等分组函数时,是不能使用 where 来筛选的,为了解决这个问题,
		只需要吧 where 替换为 having 即可:
		
		select department_id,job_id, avg(salary)
		from employees
		having/where(replaced) avg(salary) > 10000
		group by department_id,job_id

  

以上是关于数据库SQL的分组函数的主要内容,如果未能解决你的问题,请参考以下文章

简单的sql分组统计

SQL分组查询

SQL Server之 分组 类型转换函数 插入多条数据 字符串函数

数据库SQL的分组函数

sql server 分组成绩前100名的数据

错误:必须对属性进行分组或在聚合函数 NETEZZA SQL 中