zoukankan      html  css  js  c++  java
  • Mysql:函数之四:和group by配合使用的聚合函数

    除非特殊说明,聚合函数均忽略 null 值的记录。

    除非特殊说明,聚合函数均在没有匹配记录(记录集为空)的情况下均返回 null 值。

    如果在没有使用group by的语句中使用聚合函数,相当于对所有的行进行分组。

     Aggregate (GROUP BY) Functions

    NameDescription
    AVG() Return the average value of the argument
    BIT_AND() Return bitwise and
    BIT_OR() Return bitwise or
    BIT_XOR()(v4.1.1) Return bitwise xor
    COUNT(DISTINCT) Return the count of a number of different values
    COUNT() Return a count of the number of rows returned
    GROUP_CONCAT()(v4.1) Return a concatenated string
    MAX() Return the maximum value
    MIN() Return the minimum value
    STDDEV_POP()(v5.0.3) STDDEV()  STD() Return the population standard deviation
    STDDEV_SAMP()(v5.0.3) Return the sample standard deviation
    SUM() Return the sum
    VAR_POP()(v5.0.3) VARIANCE()(v4.1) Return the population standard variance
    VAR_SAMP()(v5.0.3) Return the sample variance

    bit_and() 如果没有行返回,则为 最大的unsigned bigint整数:18446744073709551615

    bit_or()、bit_xor() 如果没有行返回,则为 0

    count(*) 返回所有行的数据,包括null,如果没有行返回,则为 0

    count(expr)返回所有非null的数据,如果没有行返回,则为 0

    count(distinct expr)返回所有非null的不同数据,如果没有行返回,则为 0;和sql标准不兼容,标准sql返回所有不同的数据的行数,包括null值

    group by的rollup统计修饰词。相当于sqlserver的rollup功能!

    mysql对标准的sql语言的group by的扩展:在select列表中可以出现不在 group by 中的列,此时,该对group by的隐藏列的值是随机抽取的。所有应该保证该列的值对应group by的分组列来说是 相同的才有意义!当然除非你就想这样!类似的还有having的处理。所以,如果你想避免这个不怎么样的mysql扩展,可以通过设置 ONLY_FULL_GROUP_BY SQL mode is enabled来解决。

  • 相关阅读:
    Educational Codeforces Round 80 (Rated for Div. 2)
    2020 CCPC Wannafly Winter Camp
    Codeforces Round #613 (Div. 2)
    Codeforces Round #612 (Div. 2)
    Hello 2020
    Good Bye 2019
    Codeforces Round #590 (Div. 3)
    依赖注入
    Spring 拦截器
    rsync服务端一键安装rsync脚本(非源码)
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1629950.html
Copyright © 2011-2022 走看看