• 第三章: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
    
  • 相关阅读:
    【Java】网络编程,JUnit单元测试,设计模式
    y81.第四章 Prometheus大厂监控体系及实战 -- 监控扩展(十二)
    虹科分享|如何保障医疗数据安全?移动目标防御技术给你满意的答案
    Jmeter性能测试(P1)
    FPGA实现平衡小车(文末开源!!)
    【路径规划】考虑分配次序的多无人机协同目标分配建模与遗传算法求解
    【华为OD机试真题 python】九宫格按键输入法【2022 Q4 | 200分】
    Finate State Processes(FSP)语法规则
    Nlopt在matlab中的配置教程
    07-app端文章搜索-黑马头条
  • 原文地址:https://blog.csdn.net/u012454429/article/details/139618478