美文网首页
聚合函数

聚合函数

作者: 新苡米 | 来源:发表于2023-06-26 14:33 被阅读0次
    常用的聚合函数有COUNT()、AVG()、SUM()、MAX()、MIN()。
    COUNT()函数:统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数。
         COUNT(*)计算表中总的行数,不管某列是否有数值或者为空值。
         COUNT(字段名)计算指定列下总的行数,计算时将忽略空值的行。 
    AVG()函数:通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。
    SUM()函数:是一个求总和的函数,返回指定列值的总和。
    MAX()函数:返回指定列中的最大值,不仅适用于查找数值类型,也可应用于字符类型。
    MIN()函数:返回查询列中的最小值,不仅适用于查找数值类型,也可应用于字符类型。 
    
    一、聚合函数及group by
    标准语法
        聚合函数类型:sum(),avg(),max(),min(), count()
    -在不使用group by 情况下,select后跟的全是字段名 或 全是聚合列(如sum(),min()...),不能" select 字段名,sum() "混搭。
    -在使用group by 情况下,select后可以跟“字段名,聚合列”,但是其中的字段名必须是group by 中所列的字段名,没列的字段名也是不能使用的。聚合列里的字段名就可以不是group by 包含的。
    -sum、avg、max、min函数必须指定字段进行聚合运算,无法使用通配符,同时这些指定字段名的聚合函数都会忽略空值行。
    -count(字段名)计算字段下的总行数,但是计算时将忽略空值的行;count(*)计算表中的总行数,不管某列是否有数值或者为空值;因此,count(*)适合计算表格行数,count(字段名)计算字段中非空的行数。
    -group by 有数据去重功能,类似于distinct。但有区别,distinct是返回不同的行,group by 是先对特定的字段中相同的值分为一个区,然后再对字段去重分组。
    group by 子句有多个字段时,依据写的字段顺序依次对数据分区,因此group by 字段1,字段2与group by 字段2,字段1不一样。
    依据洲分组,计算每个洲有多少个国家
    
    
    ###二、having
    只有使用了group by 子句后才能使用having子句,having子句不能脱离group by 子句单独使用,因为having子句本质上是对group by 分组的筛选。
    having子句中只能使用聚合函数和group by作为分组筛选的字段。
    having的表达式和where的表达式基本相同,但是having的表达式中可以使用聚合数,where的表达式中不可以,因为where是对原表的行数据进行筛选,having是对group by 分组后的数据筛选。
    对行数据筛选用where,对聚合函数的数据筛选用having。
    

    三、SQL运行原理

    image.png image.png image.png image.png

    四、数据类型转换函数

    to_char //转换日期格式
    to_char('字段',"日期类型")
    
    image.png

    五、条件判断函数

    image.png

    相关文章

      网友评论

          本文标题:聚合函数

          本文链接:https://www.haomeiwen.com/subject/dczwydtx.html