zoukankan      html  css  js  c++  java
  • sqlite聚合函数

    常见聚合函数

    avg(X)

    用于返回组中所有非空列的平均值。字符串(string)或二进制数据(BLOB)等非数字类型当作0来计算。结果是浮点型的数据,即便所有数据中只有一个整数(integer)的数字。如果所有数据都是null,则此函数返回null

    count(X) count(*)

    这两种表达式还是有区别的,count(x)用于计算组内非空(not null)行数,而count(x)用于计算组内所有行的行数。

    group_concat(X) group_concat(X,Y)

    这个函数用于把组内所有的字符串连接起来,如果没有参数y,则字符串之间以“,”作为分隔符,否则以y作为分隔符。

    max(x)和min(x)

    这两个函数用于取最大值和最小值,如果所有行都是空值(null),则返回null。

    sum(X) 和total(X)

    这两个函数都用于返回组内指定列(x)的总值,sum()和total()聚合函数返回组中所有非空值的和。如果没有非空输入行,sum()返回NULL,而total()返回0.0。对于无行和来说,NULL通常不是一个有用的结果,但是SQL标准要求使用NULL,而且大多数其他SQL数据库引擎都以这种方式实现sum(),所以SQLite也以同样的方式实现NULL,以便兼容。非标准的total()函数提供了一种方便的方法来解决SQL语言中的这个设计问题。

    total()的结果总是一个浮点值。如果所有非空输入都是整数,sum()的结果就是一个整数值。如果sum()的任何输入既不是整数也不是空值,那么sum()将返回一个浮点值,该浮点值可能是真正的和的近似值。

    需要注意的是,如果所有非空行都是整数,Sum()在计算时可能会抛出一个“整数溢出”异常,并且在计算期间的任何点都发生了整数溢出(整数和值大于最大整数)。Total()从不抛出整数溢出(因为总是使用浮点数)。

  • 相关阅读:
    java 调用摄像头拍照
    jenkins docker sop
    springboot多环境打包
    docker构建nginx
    docker 构建jdk-tomcat基础镜像
    docker 构建jar 镜像
    docker 构建springmvc war项目
    centos 启动jar脚本
    nginx dockerfile
    Starting zookeeper ... FAILED TO START
  • 原文地址:https://www.cnblogs.com/luohq001/p/12886920.html
Copyright © 2011-2022 走看看