zoukankan      html  css  js  c++  java
  • 数据库之六:聚合函数、group by、having、order by

    1、聚合函数:



    1.1、COUNT: 计算表中的记录数(行数)
    可以计算出所有数据行:

    select count(*) from table_name

    可以计算出所有非空行数

    select count(columns) from tanle_name

    对于输入参数不同,输出的结果也不同。对于输入“*”,输出结果是对所有数据求行数;对于特定的列,输出结果是该列中非空数据的行数

    1.2、SUM: 计算表中数值列中数据的合计值

    求某列的和,如果列中有空值,则忽略
    select sum(columns_name) from tanle_name

    1.3、AVG: 计算表中数值列中数据的平均值,有空值,则忽略

    select avg(columns_name) from tanle_name

    1.4、MAX: 求出表中任意列中数据的最大值,有空值,则忽略

    select max(columns_name) from tanle_name

    1.5、MIN: 求出表中任意列中数据的最小值,有空值,则忽略

    select min(columns_name) from tanle_name

    MAX/MIN函数几乎适用于所有数据类型的列。 SUM/AVG函数只适用于数值类型的列
    计算该列数据种类数

    select count(distinct columns_name) from table_name

    2、分组:group by 字句



    可以根据columns列,对数据分组聚合

    select column1,column2 from table_name group by column1,column2

    a、不可以把聚合键之外的列名书写在 SELECT 子句之中
    b、group by中不能使用别名
    c、where字句中不能使用聚合函数
    d、只有SELECT子句和HAVING子句(以及ORDER BY子句)中能够使用聚合函数

    3、having字句:



    对集合指定条件
    在having字句中使用聚合函数条件,对集合选择

    select column1,count(column2)
    from table_name
    group by column1
    having count(*)>10

    having字句中,同样可以使用普通条件,但是having中出现的字段也必须出现在group by中


    4、order by:



    可以对结果进行排序,默认为升序(asc),降序为(desc)
    一般将order by 字句写在末尾:

    select column1,count(column2)
    from table_name
    group by column1
    having count(*)>10
    order by columns,count(column2) desc

    一般会将空值排序在末尾
    在ORDER BY子句中可以使用SELECT子句中定义的别名
    ORDER BY 子句中也可以使用存在于表中、但并不包含在 SELECT子句之中的列

    尽管很渺小,但终究会变得伟大
  • 相关阅读:
    4412开发板Android教程——Android平台简介
    CF621E Wet Shark and Blocks(矩阵加速DP)
    CF963B Destruction of a Tree(高级DFS)
    CF474E Pillars(离散化+线段树+保存DP路径)
    CF1214E Petya and Construction Set(树上构造)
    CF360B Levko and Array(DP+二分答案)
    CF1060E Sergey and Subway(公式推导+树上信息统计)
    CF641E Little Artem and Time Machine(时间离散化+平衡树套树状数组)
    CF264C Choosing Balls(保留最大值、次大值+DP)
    CF571B. Minimization(DP)
  • 原文地址:https://www.cnblogs.com/chenbao1012/p/11830765.html
Copyright © 2011-2022 走看看