zoukankan      html  css  js  c++  java
  • sql-分组函数

     每门学科最低的分数和人

    SELECT * FROM stu
    WHERE (stu.`score`,stu.`course`)
    IN
    (
    SELECT MIN(score),course FROM stu GROUP BY course
    )

    分组前的筛选 原始表 筛选条件位于group by子句之前 where关键字   不能在where 后使用组函数
    分组后的筛选 分组后的结果 筛选条件位于group by子句之后 having关键字

    常用的组函数:

    AVG([distinct] expr)

    求平均值

    COUNT({*|[distinct] } expr)

    统计行的数量

    MAX([distinct] expr)

    求最大值

    MIN([distinct] expr)

    求最小值

    SUM([distinct] expr)

    求累加和

    如果统计的列中只有NULL值,那么MAX和MIN就返回NULL

    默认情况下,组函数忽略列值为null的行,不参与计算

     2)组函数不允许嵌套,例如:count(max(…));

     3)组函数的参数可以是列或是函数表达式;

     4)一个SELECT子句中可出现多个聚集函数。

    注意:要想列值为NULL的行也参与组函数的计算,必须使用IFNULL函数对NULL值做转换。

     

     

    SELECT select_expr [, select_expr ...]
    
        [FROM table_references
    
          [PARTITION partition_list]
    
        [WHERE where_condition]
    
        [GROUP BY {col_name | expr | position}
    
          [ASC | DESC], ... [WITH ROLLUP]]
    
        [HAVING where_condition]
    
        [ORDER BY {col_name | expr | position}
    
          [ASC | DESC], ...]
    
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]

    1)HAVING可以单独使用而不和GROUP BY配合,如果只有HAVING子句而没有GROUP BY,表中所有的行分为一组

    
    

    2)HAVING子句中可以使用组函数

    
    

    3)HAVING子句中的列,要么出现在一个组函数中,要么出现在GROUP BY子句中(否则出错)

     

     

  • 相关阅读:
    JavaScript基础语法及字符串相关方法(1)
    matplotlib实现三维柱状图
    前端入门CSS(3)
    博客页面练习
    前端入门CSS(2)
    前端入门CSS(1)
    前端入门html(表单)
    Longest Palindromic Substring
    Wildcard Matching
    Spiral Matrix II
  • 原文地址:https://www.cnblogs.com/jentary/p/11583452.html
Copyright © 2011-2022 走看看