文档章节

Oracle学习日志-6(聚合查询)

 白话
发布于 01/18 17:34
字数 556
阅读 8
收藏 0

聚合函数

聚合函数可以对数据进行某种操作或者计算。比如几个常用的函数:
COUNT:计算表中行数。
SUM:计算表中数据列中数据的合计值。
AVG:计算表中数据列中数据的平均值。
MAX:求出表中任意列中数据的最大值。
MIN:求出表中任意列中数据的最小值。
下面用这个几个函数对以下表进行操作。


  • COUNT:计算表中行数。
SELECT COUNT(*) 
FROM Product; 


记录为NULL的行不记入行数,如进价这一列,有两个NULL。如果用COUNT计算行数,就会得到6。

SELECT COUNT(purchase_price) 
FROM Product; 


但是如果一个表只有一列,记录了三行记录,这三条记录都为NULL。如果用COUNT()求行数,会得到3.如果用COUNT<列名>求行数,会得到0.因为COUNT()会得到包含NULL的数据,COUNT<列名>会得到NULL以外的数据。并且只有COUNT函数可以用*作为参数。


  • SUM:计算表中数据列中数据的合计值。
    比如计算进价的合计值。
SELECT SUM(purchase_price) 
FROM Product; 


注意进价这一列有两个NULL的数据。之前提到过四则运算中,如果包含NULL,那么结果也是NULL。但是SUM函数不同,SUM函数会在运算前就将NULL排除在外。


  • AVG:计算表中数据列中数据的平均值。
    比如计算进价的平均值。
SELECT AVG(purchase_price) 
FROM Product; 


和SUM一样,AVG会在计算前将NULL排除,所以计算过程是(500+320+2800+2800+500+790)/6。


  • MAX:求出表中任意列中数据的最大值,MIN:求出表中任意列中数据的最小值。
    使用方法和SUM,AVG一样。比如求进价的最小值和售价的最大值
SELECT MIN(purchase_price) ,MAX(sale_price)
FROM Product; 

© 著作权归作者所有

共有 人打赏支持
粉丝 7
博文 24
码字总数 24433
作品 0
梁平
私信 提问
学习Oracle分析函数(Analytic Functions)

Oracle提供了一些功能很强大的分析函数,使用这些函数可以完成可能需要存储过程来实现的需求。 分析函数计算基于一组数据行的聚合值,它们不同于聚合函数的是,它们为每一组返回多行结果。分...

技术小胖子
2017/11/07
0
0
Oracle 物化视图

一、物化视图概述 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。 物化...

hbxztc
2017/08/09
0
0
Oracle学习日志-7(聚合查询)

GROUP BY子句: GROUP BY可以对表进行分割。比如把下面的表按照商品种类进行分割,并列出该商品种类下有多少商品 SQL代码如下 或者按商品种类分类,然后求出该商品种类下的商品售价一共多少钱...

白话
01/23
0
0
PgSQL · 案例分享 · PostgreSQL+HybridDB解决企业TP+AP混合需求

背景 随着IT行业在更多的传统行业渗透,我们正逐步的在进入DT时代,让数据发挥价值是企业的真正需求,否则就是一堆废的并且还持续消耗企业人力,财力的数据。 传统企业可能并不像互联网企业一...

阿里云RDS-数据库内核组
2017/01/04
0
0
Mybatis 分页插件 PageHelper 5.1.5 发布

如果你也在用 Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。 该插件目前支持以下数据库的物理分页 Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005+) I...

Liuzh_533
2018/09/03
1K
6

没有更多内容

加载失败,请刷新页面

加载更多

Typora快捷键

无序列表:输入-之后输入空格 有序列表:输入数字+“.”之后输入空格 任务列表:-[空格]空格 文字 标题:ctrl+数字 表格:ctrl+t 生成目录:[TOC]按回车 选中一整行:ctrl+l 选中单词:ctrl+...

AzureMonkey
27分钟前
0
0
SpringBoot2.x配置Cors跨域

1 跨域的理解 跨域是指:浏览器A从服务器B获取的静态资源,包括Html、Css、Js,然后在Js中通过Ajax访问C服务器的静态资源或请求。即:浏览器A从B服务器拿的资源,资源中想访问服务器C的资源。...

hengbao5
57分钟前
2
0
mybatis(7) - 分页

一般程序在处理sql分页的场景,要么选择在程序中对所有的结果集sublist,要么在写sql时指定limit。那如何利用mybatis的特性在处理分页呢? 分页插件 适用于数据量大的情况下。 在真正执行sql...

noob_fly
57分钟前
3
0
SpringBoot之使用jpa/hibernate

Springboot版本是2.1.3.RELEASE 1、依赖 List-1.1 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependenc......

克虏伯
今天
6
0
安卓手机如何快速投屏到windows(10/8.1/7)电脑上

前提: 手机和电脑连接的网络必须在同一局域网下。 优势: 手机和电脑不需要下载对应平台的应用,完全使用全系统自带功能。 附加: 以下演示是安卓手机和windows操作系统电脑,并且win10和win10...

皇冠小丑
今天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部