SQL-聚合函数,group by与having
①聚合函数的准确含义是:对一列数据进行处理的函数。
例如 select count(name1) from table1,
这句sql的含义是:从table1中查询所有数据,然后锁定到name1这一列,然后统计这一列都多少个数据。
②group by的含义是:按照某字段对数据分组,例如:
select sex,count(sex) from table1 group by sex
group by的一种实现原理是生成临时表,例如当group by sex时,因为sex有有两种值,'男'、'女',则会生成两个临时表,然后当与聚合函数count连用时,会分别统计两个表中的sex列,最后再输出。
③having的作用是:在group by之后再对数据做一遍筛选,
例如对于table1:

select sex,COUNT(sex) from table1 group by sex HAVING sex !='男';
的效果:

这是因为在group by之后,产生了两个临时表,分别为'男'表、'女'表,当加入
HAVING sex !='男'
时,则会剔除掉'男'表。

浙公网安备 33010602011771号