Oracle_多行函数

Oracle_多行函数

多行函数min(),max(),count(),sum(),avg()

--1.1统计公司的最高工资,最低工资和总人数

--对于null值直接略过,不做运算

--max,min,count可以对任意类型进行操作

select max(sal), min(sal),count(empno) from emp;

select max(sal), min(sal),count(comm) from emp;

select max(sal), min(sal),count(mgr) from emp;

select sum(comm), avg(comm) from emp;

select max(ename), min(hiredate) from emp;  


--2.统计emp表中的记录数

select count(*) from emp;

--2.1统计部门编号为10的部门员工总数

select count(*) from emp where deptno=10;  


--3.分组group by,    order by永远放在最后

--统计每个部门的部门编号,员工人数,并按照部门编号进行排序

select deptno, count(*) from emp group by deptno order by deptno;

--3.1查询各个部门的编号,人数,总工资,平均工资,最高工资,最低工资

select  deptno, count(*), sum(sal), avg(sal), max(sal), min(sal) from emp group by deptno order by avg (sal);

select count(*), sum(sal), avg(sal), max(sal), min(sal) from emp group by deptno order by avg (sal);

--3.2统计每个部门的人数,排除编号为30的部门

--先写where子句,后写group by

select deptno, count(*) from emp where deptno<>30 group by deptno;  


-4.统计每个部门的平均工资,排除平均工资小于2000的部门

--where子句中不允许使用多行函数

--having分组完成后,进行筛选(不能使用别名进行判断),having的语法和where基本一致

select deptno, avg(sal) from emp group by deptno having avg(sal)>=2000;

select deptno, avg(sal) from emp group by deptno having avg(sal)>=2000 and deptno<>10;  

练习

--在emp表中,列出工资最小值小于2000的职位

select job,min(sal) from emp group by job having min(sal)<2000;

--列出平均工资大于1200的部门和工作搭配的组合

select deptno,job,avg(sal) from emp group by deptno,job having avg(sal)>1200;

--统计人数小于4的部门的平均工资

select deptno,avg(sal),count(*) from emp group by deptno having count(*)<4;

--统计各部门的最高工资,排除最高工资小于3000的部门

select from emp group by deptno having max(sal)>3000;  

时间: 2024-08-29 03:20:15

Oracle_多行函数的相关文章

GreenPlum之数组合并取交集及行变列、列变行函数

--1.利用INTERSECT关键字数组之间交集函数 CREATE OR REPLACE FUNCTION array_intersect(anyarray, anyarray) RETURNS anyarray AS $$ SELECT ARRAY( SELECT UNNEST($1) INTERSECT SELECT UNNEST($2)); $$ LANGUAGE SQL; select array_intersect(array[1,2,3],array[2,3,4]); --2.行变列

Oracle系列:(12)多行函数

函数:oracle服务器先事写好的一段具有一定功能的程序片段,内置于oracle服务器,供用户调用 单行函数:输入一个参数,输出一个结果,例如:upper('baidu.com')->BAIDU.COM 多行函数:输入多个参数,或者是内部扫描多次,输出一个结果,例如:count(*)->14 统计emp表中员工总人数 select count(*) from emp; *号适用于表字段较少的情况下,如果字段较多,扫描时间多,效率低,项目中提倡使用某一个非null唯一的字段,通常是主键 统计公司

Oracle Day3 多行函数、多表查询

1.多行函数 Sum avg max min count 组函数具有滤空的作用(添加nvl屏蔽该功能) 分组groupby 多行分组 分组过滤 where 和分组过滤的区别(having) 分组的增强(rollup) break on deptno skip 2; break on null; 1 SQL> -- 计算一下每一个月要发多少工资,不含奖金 2 SQL> select sum(sal) from emp; 3 4 SUM(SAL) 5 ---------- 6 29025 7 8

C++统计代码注释行数 &amp; 有效代码行数 &amp; 代码注释公共行 &amp; 函数个数

问题来源,在14年的暑假的一次小项目当中遇到了一个这样的问题,要求统计C++代码的注释行数,有效代码行数,代码注释公共行数,以及函数个数. 下面稍微解释一下问题, 1)注释行数:指有注释的行,包括有代码和注释的公共行(如:3,4,15,22...) 2)有效代码行:指有代码的行,包括有代码和注释的公共行(如:1,4,11,15,25....) 3)代码注释公共行:指又有代码又有注释的行(如:4,15...) 4)函数个数:这个不用说明了吧. 以下为注释情况展示代码: 1 #include <st

地瓜君的excel小课堂——行函数与列函数

大家用Excel处理数据的时候经常会用到一些查找引用函数,今天地瓜君就来和大家一起学习一下查找引用函数中的行函数与列函数啦. 导航:1.row函数 2.rows函数 3.column函数 4.columns函数 我们重点介绍这4个函数里最常见也是非常实用的函数row函数,其他3个函数不是最常用所以就稍微简单的介绍下啦 一.row函数(返回一个引用的行号) 语法:=row(reference) 说明:如果省略reference(参数),则默认返回row函数所在单元格的行号. 参数reference

单行函数和多行函数

--单行函数(左边为原始状态,右边为修改后的状态,每一个字符都大写)select last_name,upper(last_name) from employees; --单行函数select last_name,upper(last_name),lower(last_name) from employees; --多行函数(计数)select count(last_name)from employees;

SQL单行函数和多行函数

单行函数和多行函数示意图: 单行函数分为五种类型:字符函数.数值函数.日期函数.转换函数.通用函数 单行函数: [sql] view plaincopy --大小写控制函数 select lower('Hello World') 转小写, upper('Hello World') 转大写 from dual; --initcap: 首字母大写 select initcap('hello world') 首字符大写 from dual; --字符控制函数 -- concat: 字符连接函数, 等同

oracle之5多行函数之过滤分组函数

Hanving子句: 例如: Select deptid avg(sal) from emp group by deptid having avg(sal)>2000 Where和having的区别: Where后面不能使用多行函数. 原文地址:https://www.cnblogs.com/txf0324/p/11038267.html

DQL---条件查询、单行函数、多行函数、分组函数、数据类型

一.DQL 1.基本规则: (1)对于日期型数据,做 *,/ 运算不合法,可以进行 +, - 运算.比如给日期加一天或减一个月,结果仍为一个日期.两个日期间只能为减法,返回两个日期相差的天数,两个日期间做加法没任何意义. (2)包含空值(null)的数学表达式计算结果均为空值. (3)给字段取别名时,别名使用 双引号 括起来(根据双引号里的内容显示),不加双引号时会转为大写.字段与别名间可以使用AS关键字,也可使用空格. (4)oracle中连接字符是 || (也可以使用单行函数concat()