MySQL第五天0320 组函数 MIN、MAX、SUM、AVG、COUNT,,,group by~ having

  • 高级查询:组函数
    • 分组函数常用到以下五个函数:MIN、MAX、SUM、AVG、COUNT
    • 分组函数语法:
      • SELECT [column,] group_function(column)
      • FROM table
      • [WHERE condition]
      • [GROUP BY column]
      • [HAVING group_function(column)expression
      • [ORDER BY column| group_function(column)expression];
    • MIN、MAX、SUM、AVG函数
      • select min(hiredate),max(hiredate) from emp
      • select min(sal),max(sal),avg(sal),sum(sal),sum(sal)/14 from emp
    • 查询职位以SALES开头的所有员工最低工资、最高工资、工资和、平均工资。
      • select min(sal),max(sal),sum(sal),avg(sal)
      • from emp where job like 'SALES%'
      • select * from emp order by job desc
    • COUNT函数
      • 返回满足条件的每组记录条数。返回满足条件的【非空(NULL)行】的数量
      • COUNT语法:
        • COUNT(*|{[DISTINCT|ALL] column|expression})
        • select * from emp
        • select count(*) from emp
    • null不参与count计算,所有分组函数会忽略null,即null不参与分组统计
      • select count(*) from emp where deptno=30 and comm is not null
      • select count(comm) from emp where deptno=30 and comm is not null
      • select count(comm) from emp where deptno=30
    • distinct 去重
      • select count(deptno) from emp
      • select count(distinct deptno) from emp
    • IFNULL函数可以使分组函数强制包含含有空值的记录
      • select sum(comm), avg(comm) from emp
      • select avg(ifnull(comm,0)) from emp
    • 创建数据组
      • 语法:
        • SELECT column, group_function(column)
        • FROM table
        • [WHERE condition]
        • [GROUP BY group_by_expression]
        • [ORDER BY column];
      • SELECT列表中除分组函数外,其余所有列都必须包含在GROUP BY子句中
      • GROUP BY所指定的列并不是必须出现在SELECT列表中
    • 排除组结果 HAVING
      • 语法:
        • SELECT column, group_function
        • FROM table
        • [WHERE condition]
        • [GROUP BY group_by_expression]
        • [HAVING group_condition]
        • [ORDER BY column];
    • select执行过程
      • 1.通过FROM子句中找到需要查询的表;
      • 2.通过WHERE子句进行非分组函数筛选判断;
      • 3.通过GROUP BY子句完成分组操作;
      • 4.通过HAVING子句完成组函数筛选判断;
      • 5.通过SELECT子句选择显示的列或表达式及组函数;
      • 6.通过ORDER BY子句进行排序操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值