mysql 分组 having_MySQL分组子句having详解

假设

按照 select pinpai,count(*) as 数量,max(price) as 最高价,min(price) as 最低价,avg(price) as 平均价 ,sum(price) as 总价,chandi from product group by pinpai;搜索是不正确的搜索但不报错

having

是什么?

类比 where

定义:对分组结果数据进行筛选

区别:

Where是对原始数据进行筛选

having 对分组之后进行筛选

例1 找出平均价大于5000的品牌信息

select pinpai,count(*) as 数量,max(price) as 最高价,min(price) as 最低价,avg(price) as 平均价 ,sum(price) as 总价 from product group by pinpai having 平均价>5000;

例2 找出商品数超过2个的品牌信息

select pinpai,count(*) as 数量,max(price) as 最高价,min(price) as 最低价,avg(price) as 平均价 ,sum(price) as 总价 from product group by pinpai having 数量>2;

波利亚《怎样解题》:你能否重新叙述这个问题?

select pinpai,count(*) as 数量,max(price) as 最高价,min(price) as 最低价,avg(price) as 平均价 ,sum(price) as 总价 from product group by pinpai having count(*)>2;

假设 按照 select pinpai,count(*) as 数量,max(price) as 最高价,min(price) as 最低价,avg(price) as 平均价 ,sum(price) as 总价,chandi from product group by pinpai;搜索是不正确的搜索但不报错 having 是什么? 类比 where 定义:对分组结果数据进行筛选 区别: Where是对原始数据进行筛选 having 对分组之后进行筛选 例1 找出平均价大于5000的品牌信息 select pinpai,count(*) as 数量,max(price) as 最高价,min(price) as 最低价,avg(price) as 平均价 ,sum(price) as 总价 from product group by pinpai having 平均价>5000; 例2 找出商品数超过2个的品牌信息 select pinpai,count(*) as 数量,max(price) as 最高价,min(price) as 最低价,avg(price) as 平均价 ,sum(price) as 总价 from product group by pinpai having 数量>2; 波利亚《怎样解题》:你能否重新叙述这个问题? select pinpai,count(*) as 数量,max(price) as 最高价,min(price) as 最低价,avg(price) as 平均价 ,sum(price) as 总价 from product group by pinpai having count(*)>2;
经验分享 程序员 微信小程序 职场和发展