常见聚合函数

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

最新文章

  1. WEB基础原理——理论复习
  2. mongodb集群安装及到现在遇到的一些问题
  3. 【JUC】JUC锁框架综述
  4. openstack命令备忘录
  5. windbg命令----!idt
  6. selenium-webdriver(python) (十六) --unittest 框架
  7. 记一次串口通信调试,慎用SerialPort.Close
  8. POJ2288 Islands and Bridges
  9. Nginx 上的 php-fpm 资源侵占问题
  10. EXTJS 4.2 资料 控件之Window窗体相关属性的用法
  11. English is very important!
  12. MySQL多数据源笔记1-MySQL主从复制
  13. 增加删除的js
  14. MP和OMP算法
  15. Java之代理(jdk静态代理,jdk动态代理,cglib动态代理,aop,aspectj)
  16. 在excel中将缺失数据全部用0补齐
  17. Python使用suds调用webservice报错解决方法:AttributeError: 'Document' object has no attribute 'set'
  18. Virtualbox-CentOS网络配置
  19. android 判断点击的位置是不是在指定的view上
  20. python处理excel(二):写

热门文章

  1. pytorch中的前项计算和反向传播
  2. SQLI-LABS学习笔记(四)
  3. 关于搭建IIS网页弹出登录框的解决方案
  4. Nagios基本搭建
  5. tensor的复制函数torch.repeat_interleave()
  6. javascript SDK开发之webpack中eslint的配置
  7. event兼容性解决
  8. PHP的闭包和匿名函数
  9. Docker学习之搭建MySql容器服务
  10. 云时代 • 新契机:2017届中国SaaS产业大会圆满落幕