• 第三章: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
    
  • 相关阅读:
    Python实现定时任务的八种方式
    IIC协议详解
    从零开始学习Dubbo1——互联网项目目标与架构发展史
    【 Ubuntu】systemd服务创建、启用、状态查询、自启等
    蓝牙 - 注册SIG账号
    S5PV210——SDRAM的初始化
    Python 操作MySql数据库(封装、优雅)
    程序链接和加载
    7月28日第壹简报,星期四,农历六月三十
    NFT 游戏新模式遐想:让“永久性死亡”在加密游戏中成为现实
  • 原文地址:https://blog.csdn.net/u012454429/article/details/139618478