一、数据分组
1. 按照年龄进行分组统计各个年龄段的人数:
Select FAge,count(*) from T_Employee group by FAge;
2. Group by子句必须放到where语句之后。
3. 没有出现在group by子句中的列是不能放到select语句后的列名列表中的(聚合函数中除外),即只能出现group by后面的列和聚合函数。
(1)错误:select FAge,FSalary from T_Employee group by FAge;
(2)正确:select FAge,avg(FSalary) from T_Employee group by FAge;
按照年龄分组统计各年龄段的平均月薪
二、Having语句
1. 在where中不能使用聚合函数,必须使用Having,Having要位于group by 之后,select FAge,count(*) as 人数 from T_Employee Group by FAge Having count(*)>1
2. 注意:Having中不能使用未参数分组的列,Having不能代替where。作用不一样,Having是对组进行过滤,能用的列和select中的列一样,而where是对原始数据的过滤。