常见聚合函数

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. Java IO 流-- 文件拷贝

    IO流操作套路: 1.创建源: 2.选择流: 3.操作: 4.释放资源 上代码: package com.xzlf.io; import java.io.File; import java.io.Fi ...

  2. 我个人常用的git命令

    在还没有习惯用命令行之前,我建议用一下sourcetree这个软件熟悉一下流程. 使用 git clone 拷贝一个 Git 仓库到本地:git clone url 添加所有的文件到缓存区: git ...

  3. php 判断是否手机端还是pc端

    来自:https://www.cnblogs.com/webenh/p/5621890.html 用手机访问PC端WWW域名的时候,自动判断跳转到移动端,用电脑访问M域名手机网站的时候,自动跳转到PC ...

  4. ReportEventA 错误 ERROR_CRC

    如果 level 的宏弄错了,就会出现这种奇怪的现象.

  5. 【linux三剑客】grep命令

    grep, egrep, fgrep - print lines matching a pattern grep 命令用于查找文件里符合条件的字符串. grep 指令用于查找内容包含指定的范本样式的文 ...

  6. 线程状态及各状态下与锁和CPU的关系

    线程的状态 Thread.State枚举类型中定义了线程的六种状态:NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING和TERMINATED. 线程在某一时刻只能拥有 ...

  7. ICML2016 TUTORIAL参会分享

    本次ICML会议的tutorial安排在主会前一天.这次tutorial内容非常丰富,有微软亚研的hekaiming(已经跳去facebook)介绍深度残差网络,也有deepmind的david si ...

  8. SaaS 公司如何切入大客户

    编者按:本文作者是氪空间第四期项目 Kuick 创始人崔超,其现在的产品KuickDeal是一款销售活动管理工具.本文来自作者投稿,36 氪经授权转载. 首先,今天我们不讨论 SaaS 公司应该做中小 ...

  9. 高性能服务器开发基础系列 (二)Reactor模式

    系列目录 第01篇 主线程与工作线程的分工 第02篇 Reactor模式 第03篇 一个服务器程序的架构介绍 第04篇 如何将socket设置为非阻塞模式 第05篇 如何编写高性能日志 第06篇 关于 ...

  10. 配置windows自动修改密码和自动登录

    日常运维多台服务器,每季度要修改一次密码,非常麻烦,现做一个VBS脚本,计划任务设置每季度第一天三点定时运行,则可解决该问题,具体实现脚本如下:autochg_pwd.vbs ystr=year(No ...