【MYSQL】数据库基本操作----DQL(Data Query Language)---基本查询
分组查询---group by(即对数据进行分类)
(1)简介
分组查询是指使用group by字句对查询信息进行分组。
(2)格式
select 字段1,字段2... from 表名 group by 分组字段 having 分组条件;
注意:
1))当有多个分组字段时,分组字段之间用英文中的逗号相隔。
2))分组字段可以有1个也可以有多个。
3))having 分组条件作用:对分组之后的结果再进行分组条件判断。
4))当有多个分组字段时,只有当多个分组字段对应的值都相等时,才会被分在一组。
代码示例:
以下代码基于这张表来举例:
1))-- 统计各个分类商品的个数
执行顺序是:先执行from product , 再执行group by category_id , 然后count(pid), 再执行:select category_id ,count(pid)
注意:如果要进行分组的话,则select 之后,只能出现分组字段和统计函数(即count函数),其它的字段不能出现,否则运行代码时,会报错。
例如:
(3)分组之后的条件筛选--having
1))分组之后对统计结果进行筛选的话,必须使用having,不能使用where
2))where子句用来筛选from子句中指定的操作所产生的行。
3))group by 子句用来分组where 子句的输出
4))having子句用来从分组的结果中筛选行。
(4)格式
select 字段1,字段2... from 表名 group by 分组字段 having 分组条件( order by);
(5)操作
-- 统计各个分类商品的个数,且只显示个数大于2的信息
代码: