----where与having的区别(用法)
- where是对from后面指定的猎豹进行数据的筛选,属于对原始数据(原表)的筛选。
- having是对group by分组后的数据(结果)进行筛选,数据不是原表。
- having后面的条件找中可以用聚合函数,where后面不可以。
- 以下是where与having的用法,结合聚合函数、分组查询进行综合应用并进行举例说明
- where与having的用法经常会混淆,希望下面的详细例子能对大家有用
分组查询
- 按照字段分组,此字段相同的数据会被放到一个组中
- 分组的目的是对每一组的数据进行统计(使用聚合函数)
- 语法格式: select 字段1,字段2,聚合函数... from 表名 group by 字段1,字段2...
例1:查询各种性别的人数
select sex,count(*) from students group by sex
例2:查询每个班级中各种性别的人数 select class,sex,count(*) from students group by class,sex
- 语法格式: select 字段1,字段2,聚合... from 表名 group by 字段1,字段2,字段3...having 条件
- 说明: 关键字having后面的条件运算符与where的相同
例1:查询男生总人数
方案一:select count(*) from students where sex='男'
方案二:select sex,count(*) from students group by
最后,有问题的地方希望大家积极纠正,与君共勉。