Oracle_SQL(2) 分组与聚合函数
一、聚合函数
1.定义:对表或视图的查询时,针对多行记录只返回一个值的函数。
2.用途:用于select语句,HAVING条件
二、5种聚合函数
1.SUM(n) 对列求和
select sum(sal) from emp;
select deptno,sum(sal) from emp group by deptno;
2.AVG(n) 对列求平均值
select avg(sal) from emp;
select deptno,avg(sal) from emp group by deptno;
3.MAX(n) 对列求最大值
select max(sal) from emp;
select deptno,max(sal) from emp group by deptno;
4.MIN(n) 对列求最小值
select min(sal) from emp;
select deptno,min(sal) from emp group by deptno;
5.COUNT(1) 记录行数
select COUNT(1) from emp;
select deptno,COUNT(1) from emp group by deptno;
select deptno,avg(sal),sum(sal)/COUNT(1) from emp group by deptno;
count(可空列)对null值不计数
select count(comm) from emp;
count(distinct 列)对null值不计数
select count(distinct empno),count(distinct deptno) from emp;
三、分组语句
语法:group by 列名,... having 条件
1.按部门分组,输出5种聚合函数,并按部门排序
select deptno,sum(sal),avg(sal),count(1),max(sal),min(sal)
from emp group by deptno order by deptno;
2.按部门分组,输出部门人数大于3的部门编号及5种聚合函数,并按部门排序
select deptno,sum(sal),avg(sal),count(1),max(sal),min(sal)
from emp group by deptno having count(1)>3 order by deptno;
3.按部门分组,输出部门人数大于等于3并且小于等于6
的部门编号及5种聚合函数,并按部门排序
select deptno,sum(sal),avg(sal),count(1),max(sal),min(sal)
from emp group by deptno having count(1)>=3 and count(1)<=6
order by deptno;
4.按部门分组,输出工资大于1000,部门人数大于等于3并且小于等于6
的部门编号及5种聚合函数,并按部门排序
select deptno,sum(sal),avg(sal),count(1),max(sal),min(sal)
from emp where sal>1000
group by deptno having count(1)>=3 and count(1)<=6
order by deptno;
Oracle_SQL(2) 分组与聚合函数的更多相关文章
- mysql 分组和聚合函数
mysql 分组和聚合函数 Mysql 聚集函数有5个: 1.COUNT() 记录个数(count(1),count(*)统计表中行数,count(列名)统计列中非null数) 2.MAX() 最大值 ...
- MySQL查询语句详解,排序、分组、聚合函数、约束
create database day20; 查询的时候from前面的字段是需要显示出来的内容,后面是条件use day20;create table phones(id int,pinpai var ...
- sql 基础语法3:分组,聚合函数,having,联合查询,快速备份,内联函数
select * from Classinfo select * from StuInfo select * from CourseInfo select * from ScoreInfo --分组 ...
- VB.NET中LINQ TO List泛型查询语句(分组,聚合函数)
Public Class LinqToList 'LINQ在C#中使用比较方便,但是在VB中使用比较麻烦,复杂,和C#用法并不太一样 Dim listNew As List(Of Product) = ...
- mysql数据库查询和聚合函数
1.模糊查询 like % 表示多个任意字符 _ 表示任意一个字符 例如:查询黄姓同学 select * from student where name '黄%' select * from stud ...
- mysql概要(四)order by ,limit ,group by和聚合函数的特点,子查询
1.order by 默认按升序排列(asc/desc),多字段排序 order by 字段 排序方式,字段2 排序方式,..: 在分组排序中,排序是对分组后的结果进行排序,而不是在组中进行排序. s ...
- SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
聚合函数: SQL中提供的聚合函数可以用来统计.求和.求最值等等. 分类: –COUNT:统计行数量 –SUM:获取单个列的合计值 –AVG:计算某个列的平均值 –MAX:计算列的最大值 –MIN:计 ...
- 20141031--SQL分组,数学函数,聚合函数
/* 通过代码操作:创建一个数据库,里面有一个学生信息表, 内容包括:学号,姓名,性别,体重,年龄,语数外三门课分数,班级 插入20条数据 执行以下查询操作: 1.查姓王的同学的信息 2.分别查每门课 ...
- ORACLE字符串分组聚合函数(字符串连接聚合函数)
ORACLE字符串连接分组串聚函数 wmsys.wm_concat SQL代码: select grp, wmsys.wm_concat(str) grp, 'a1' str from dual un ...
随机推荐
- T-SQL行合并成列与列拆分成行
本文出处:http://www.cnblogs.com/wy123/p/6910468.html 感觉最近sql也没少写,突然有一点生疏了,对于用的不是太频繁的一些操作,时间一久就容易生. 多行的某一 ...
- 多线程数据库查询(ADO)
ADO多线程数据库查询通常会出现3个问题: 1.CoInitialize 没有调用(CoInitialize was not called):所以,在使用任何dbGo对象前,必须手 调用CoIniti ...
- Spring格式化注解
Spring Framework 3.0发布了.这里我们介绍其中的一个:用于格式化的注解.简介 Spring 3 提供了两个可以用于格式化数字.日期和时间的注解@NumberFormat和@DateT ...
- 1.Tomcat配置.md
1.启动 解压缩安装包后,点击startup.bat,保持控制台窗口开启 浏览器中输入http://localhost:8080 后看到启动界面则表示启动成功 点击shutdown.bat则关闭Tom ...
- lucene solr
理解 lucene 是一个全文搜索的引擎 solr是全文搜索的web实现 --------------------. java.lang.UnsupportedClassVersionError: ...
- Resize CentOS Linux hard drive partition (centos 6.3 调整LVS磁盘大小)
查看当前磁盘信息: [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用%% 挂载点/dev/mapper/VolGroup-lv_root ...
- 在使用 #import <objc/message.h>时 xcode 报 :Too many arguments to function call, expected 0 , have * 解决方法
选中项目 - Project - Build Settings -
- spring boot 的热部署插件
- numpy中的数学
1.dot,exp v = np.dot(arg1,arg2) #矩阵乘法 v2 = np.exp() # e的-x 次方
- Centos7安装出现的问题:找不到安装源或者检查软件配置出错
安装启动时到以下界面 此时,按一下Tab键,将会出现在屏幕下方出现这一串文字 vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x2 ...