zoukankan      html  css  js  c++  java
  • TSQL中聚合函数对空值(NULL)的处理

    聚合函数对一组值执行计算,并返回单个值。除了 COUNT 以外,聚合函数都会忽略空值。聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用。

    所有聚合函数均为确定性函数。这表示任何时候使用一组特定的输入值调用聚合函数,所返回的值都是相同的。有关函数确定性的详细信息,请参阅确定性函数和不确定性函数OVER 子句可以跟在除 CHECKSUM 以外的所有聚合函数的后面。

    聚合函数只能在以下位置作为表达式使用:

    • SELECT 语句的选择列表(子查询或外部查询)。
    • COMPUTE 或 COMPUTE BY 子句。
    • HAVING 子句。

    Transact-SQL 提供下列聚合函数:

    AVG

    MIN

    CHECKSUM_AGG

    SUM

    COUNT

    STDEV

    COUNT_BIG

    STDEVP

    GROUPING

    VAR

    MAX

    VARP

    特别注意一下,如果没有配合GROUP语句,那么除了COUNT(*)之外,其他的聚合函数都是忽略空值的,下面看一个例子

    我有一个orders表,下面是一个截图

    image

    假设我们通过下面语句去计数

    SELECT COUNT(customerid) FROM Orders

    那么返回的结果是6,而不是7

    但是如果用

    SELECT COUNT(customerid) FROM Orders

    则可以返回7

  • 相关阅读:
    qt做触摸屏演示程序
    sis9280触摸ic 基于rk3288 的安卓4.4的 多点触摸
    自己动手做logo
    把代码做成库文件,防止修改或者查看。
    闲事无聊恳这个
    Python特殊序列d能匹配哪些数字?
    Python正则表达式re.search(r'*{3,8}','*****')和re.search('*{3,8}','*****')的匹配结果为什么相同?
    Python正则表达式re.match(r"(..)+", "a1b2c3")匹配结果为什么是”c3”?
    Python匹配对象的groups、groupdict和group之间的关系
    Python正则表达式处理中的匹配对象是什么?
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1330388.html
Copyright © 2011-2022 走看看