- group by:数据分组
select 汇总字段 from 表名 group by 字段
select count(user) from card_user group by card_id
在会员卡用户表中,统计出不同的卡id对应的用户数量
select card_id,count(user) from card_user where card_name="初级会员卡" group by card_id
在表中卡的名称是“初级会员”的数据中,统计处不同的卡id,以及各id对应的用户数量
select sum(pro_price) from suppiler group by sup_id
在供应商表中,根据供应商id将其分组,将同一个供应商的提供的商品价格相加
- having:过滤分组
select 汇总字段 from 表 group by 分组字段 having 过滤条件
****备注:having后面的过滤条件中使用的字段一定要在select查询的字段中
select sum(pro_price) from suppiler group by sup_id having sum(pro_price)>10
在表中,将数据根据供应商id分组,统计不同供应商对应的个字商品总价格,并且将总价格大于10 的显示出来
select sup_id,sum(pro_price) from suppiler where country="中国" group by sup_id having sup_id!=2
在表中筛选出国家是中国的供应商,将得出的数据根据供应商id分组后统计每组的供应商id和对应的供吟赏提供的商品总价格,并且筛选将供应商id不能等于2的数据
- 分组和排序
select 查询字段 from 表 group by 分组字段 order by 排序的字段
select avg(pro_price) from suppiler group by country order by sup_id desc
在表中,根据供应商国家将数据分组,且每个国家提供的商品价格的平均值,将得出的结果根据供应商id进行倒序排序
select sup_id,avg(pro_price) from suppiler where sup_id>2005 group by country having avg(pro_price)<3333 order by avg(pro_price) desc
在供应商表中,筛选出供应商id>2005的数据,在将得到的数据根据国家进行分组后,将每个国家的供应商提供的产品价格求取平均值,并且筛选出产品价格平均值的国家,将得到的数据根绝产品价格平均值进行倒序排序
- select子句的顺序
select 查询字段 from 表 where 筛选条件 group by 分组字段 having 过滤条件 order by 排序字段 desc/asc
来源:CSDN
作者:LKM_wonderful
链接:https://blog.csdn.net/LKM_wonderful/article/details/104594719