分组查询

 分组查询
    1.分组函数     select avg(salary) from s_emp;
     select count(2) from s_emp;  记录2次
     select sum(2) from s_emp;
     select sum(salary*(1+0.2) from s_emp;
     select count(distinct name) from s_emp;以名字记录
    2.分组查询
      分组的注意事项:
 select 列表要不出现在group by中,要么出现在字段 
     select manager_id from s_emp from group by manager_id;
     select manager_id,count(id) from s_emp group by manager_id;函数不能出现在分组中
    3.分组与分组函数的使用
3.1 关联中使用分组
            打印部门名称与部门员工数
       select name,count(s_emp.id) from s_emp,s_dept
         where s_emp.id=s_dept.id
         group by name;
   select region.name,count(s_dept.id) from s_dept,s_region
   where s_dept.region=s_region.id
   group by s_region.name
   select r.name,count(e.id)
     from s_region r,s_dept d,s_emp e
   where r.id=d.region_id and d.id=e.id
   group by r.name;
           查询什么,从那查询,查询的关联,是否分组
3.2 在select中可以使用分组函数,在where中可以使用吗
不可以
    对分组怎么过滤
    having过滤 紧跟group by
   select d.name,avg(e.salary)
   from s_dept d,s_emp e
   where d.id=e.dept_id
   //and avg(salary)>1000 错误!
   group by d.name
   having avg(salary)>1000;
   
总结:
     select 查询内容
     from   哪里查询
     where  关联关系
      and|or|not过滤条件
     group by 分组方式
     having   分组过滤
     order by 排序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值