zoukankan      html  css  js  c++  java
  • SQL基础之聚合与排序

    聚合函数是用来求和,平均值,最大最小值一类的函数。

    常用的有COUNT、SUM、MAX、MIN、AVG。

    count()

    参数为列名,也可以使用*,表示全部列。

    默认*会统计所有行的数据,如果想过滤掉NULL行,要指定具体列名。

    过滤空行:

    mysql> select * from employees where 'to_date' is null;
    Empty set (0.00 sec)
    

     注:

    1.聚合函数在进行计算之前,会自动将NULL的行排除,但是count(*)是个例外。

    2.适用范围,MAX/MIN适合所有类型的列,而SUM/AVG只适合数值类型的列。

    3.想要计算值的类型时,可以在COUNT函数中使用DISTINCT。

    对表进行分组

    注意点:

    1.聚合函数和GROUP BY子句只能在SELECT子句中使用

    2.GROUP BY 子句中不能使用SELECT子句中列的别名

    3.GROUP BY 子句中的聚合结果是无序的

    4.WHERE 子句中不能使用聚合函数

    5.子句的书写顺序,SELECT-->FROM-->WHERE-->GROUP BY

    将表分组之后再进行聚合

    SELECT name,count(*) FROM people GROUP BY name;

    聚合键中包含NULL时,会以空行的形式表现出来。

    GROUP BY和WHERE并用时的执行顺序:FROM-->WHERE-->GROUP BY-->SELECT

    注意

    1.SELECT子句中只能存在下面三种元素:

    常数
    聚合函数
    聚合键,即GROUP BY子句中的列

    2.使用GROUP BY子句时,SELECT子句中不能出现聚合键之外的列名。

    为聚合结果指定结果

    HAVING子句用来指定分组的条件,需要写在GROUP BY子句之后。

  • 相关阅读:
    CQUOJ 10819 MUH and House of Cards
    CQUOJ 9920 Ladder
    CQUOJ 9906 Little Girl and Maximum XOR
    CQUOJ 10672 Kolya and Tandem Repeat
    CQUOJ 9711 Primes on Interval
    指针试水
    Another test
    Test
    二分图匹配的重要概念以及匈牙利算法
    二分图最大匹配
  • 原文地址:https://www.cnblogs.com/leomei91/p/7640485.html
Copyright © 2011-2022 走看看