• 第三章:SQL聚合与排序


    法则3-1
    聚合函数
    COUNT:计算表中的记录数(行数)
    SUM :计算表中数值列中的数值的合计值
    AVG :计算表中数值列中数值的平均值
    MAX :求出 表中任意列中数据的平均值
    MINI :求出表中任意列数据的最小值

    COUNT:函数跟军参数的不同而不同,
    count(*)会得到包含NULL的数据行数
    count(列名)会得到NULL之外的数据行数
    法则3-2
    聚合函数会将NULL排除在外,但count(*)并不排除null
    除了count聚合函数可以使用*,其他的sum,AVG,MINI,MAX都不可以使用* ,可以使用列名
    法则3-3 
    MAX/MIN函数几乎适用于所有类型的列,
    sum/avg 函数只适用于数据类型的列
     法则3-3 
     聚合函数的参数使用DISTINCT,可以删除重复数据
     GROUP BY 只能写在select语句里面
     GROUP BY子句中不能使用select子句中列的别名
     GROUP BY子句的聚合结果是无序的
     where子句中不能使用聚合函数
      法则3-4
      GROUP BY就像一把刀将表分开
      聚合键中包含NULL时,在结果中会以"不确定"行(空行)的形式表现出来
      select * from Prount GROUP BY PI_type
      select * from Prount where Pi_type= '12 'GROUP BY Pi_type
      GROUP BY和where使用时的顺序
      书写顺序:select->from ->where->GRUOP BY
      执行书序:FROM->where->GROUP BY ->select
    count和GROUPBY的使用
    select常数,聚合函数,聚合键 from where 表 GROUPBY 聚合键
    法则3-5
    只有select子句和 HAVING 子句(以及orderby子句)中能够使用聚合函数
    法则3-6 
    聚合函数可以在select子句和HAVING,ORDERBY子句中使用
    使用count函数汇总数据时,未指定的条件不是where而是HAVING子句
    法则3-7
    where用于指定数据行的条件
    having用于指定分组的条件
    having 要些早GROUPBY的后面
    select -> from->where->GROUP BY -> having
    having子句中可以使用,常数,聚合函数,GROUP BY 子句中指定的列名(聚合键)
    法则3-8
    order by 子句对查询的结果进行排序
    order by ASC升序(默认)
    order by desc 降序
    order by 可以指定多个排序
    排序键包含null时,会在开头或者末尾进行汇总
    order by通常写select的末尾
    order by可以使用别名
    order by可以使用select子句未使用的列和聚合函数
    使用 HAVING子句,select的顺序
    from->where -> group by ->having ->select ->order by
    
  • 相关阅读:
    Vue把常用 【组件提取】 出来后使用【插槽把父元素】传入【组件中】
    JAVA动态代理
    未来电商怎么走,是腾讯视频号,还是抖音小店?你更看好谁?
    k8s线上某些特殊情况强制删除 StatefulSet 的 Pod 要考虑什么隐患?
    S1_servlet与数据库连接、filter过滤器、分页 实操的叙述
    PHP代码审计DVWA-文件包含信息获取方法
    基于单片机的贪吃蛇游戏设计仿真
    常用设计模式
    Java 多线程 要点
    【面试题】面试必备我跟面试官聊了一个小时线程池!
  • 原文地址:https://blog.csdn.net/u012454429/article/details/139618478