常见聚合函数

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()从不抛出整数溢出(因为总是使用浮点数)。

sqlite聚合函数的更多相关文章

  1. SQLite 自定义函数,聚合,排序规则

    SQLite 自定义函数,聚合,排序规则 1.使用自定义函数, 聚合以及排序规则的基本方法是使用回调函数.这些注册的函数的生命周期只存在于应用程序中, 并不存储在数据库文件中, 因此需要在每个连接建立 ...

  2. sqlite之聚合函数的使用

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

  3. MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  4. MySQL聚合函数、控制流程函数(含navicat软件的介绍)

    MySQL聚合函数.控制流程函数(含navicat软件的介绍) 一.navicat的引入:(第三方可视化的客户端,方便MySQL数据库的管理和维护) NavicatTM是一套快速.可靠并价格相宜的数据 ...

  5. Django模型层之字段查询参数及聚合函数

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 字段查询是指如何指定SQL WHERE子句的 ...

  6. MySQL聚合函数、控制流程函数

    [正文] 一.navicat的引入:(第三方可视化的客户端,方便MySQL数据库的管理和维护) NavicatTM是一套快速.可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设 ...

  7. django字段查询参数及聚合函数

    字段查询是指如何指定SQL WHERE子句的内容.它们用作QuerySet的filter(), exclude()和get()方法的关键字参数. 默认查找类型为exact. 下表列出了所有的字段查询参 ...

  8. SQLite 常用函数

    SQLite 常用函数 参考: SQLite 常用函数 | 菜鸟教程http://www.runoob.com/sqlite/sqlite-functions.html SQLite 常用函数 SQL ...

  9. Django查找数据库objects.filter() 排序order_by Q()与或非 F()属性之间比较 聚合函数的用法

    条件选取QuerySet的时候,filter表示=参数可以写查询条件,exclude表示!=,querySet.distinct() 去重复(除了get返回值都是QuerySet,可以继续调用所有函数 ...

随机推荐

  1. web自动化中pytest框架的使用(二)---参数化

    1.pytest--参数化 在测试用例的前面加上@pytest.mark.parametrize("参数名",列表数据) 参数名:用来接收每一项数据,并作为测试用例的参数 列表数据 ...

  2. (第七篇)系统编码、自启动配置、HOSTNAME、系统启动、定时任务、进程管理、硬盘及其分区

    linux查看系统编码和修改系统编码的方法 查看支持的字符编码 使用locale命令, 如: root@ubuntu:/etc# locale 然后修改/etc/locale.conf,如改成中文编码 ...

  3. HDU 5416 CBR and tree

    #include<bits/stdc++.h> using namespace std; #define for(i,a,b) for(int i=a;i<=b;++i) //T,N ...

  4. Django项目打包

    Django项目打包 这是目前开发完成的project目录树.我们要打包其中的polls app. (v_python3.6) thinkt@linux-pw37:~/PycharmProjects/ ...

  5. ubuntu 14.04安装pycharm 社区版

    https://blog.csdn.net/u013733432/article/details/54425831 转载于:https://www.cnblogs.com/liu-shiliu/p/1 ...

  6. java中异常的处理

    异常分为运行时的异常和检测异常: java提供了两种异常机制.一种是运行时异常(RuntimeExepction),一种是检查式异常(checked execption). 运行时的异常就是在java ...

  7. webpack前端构建angular1.0!!!

    webpack前端构建angular1.0 Webpack最近很热,用webapcak构建react,vue,angular2.0的文章很多,但是webpack构建angualr1.0的文章找来找去也 ...

  8. angular2相关

    脚手架安装一个项目 1.全局安装angular脚手架 npm install -g @angular/cli 2.初始化一个文件夹 ng new my-angular-demo 3.进入文件夹 cd ...

  9. 运用shell脚本 执行sftp,ftp命令

    sftp文件上传(从本地上传到远程) #!/bin/bash #远程上传文件测试 if [ $# -ne 2 ] then echo "miss arguments" echo & ...

  10. HDU 1159.Common Subsequence【动态规划DP】

    Problem Description A subsequence of a given sequence is the given sequence with some elements (poss ...