Oracle学习第三篇—多行函数

0 order by asc/desc 默认升序

  order by 列的名字|表达式|别名|序号
  把空放在后边:order by desc nulls last

1分组函数--会自动滤空值

  count(*|distinct|clumn) max min sum avg
  select sum(comm)/count(*) 一,
    sum(comm)/count(comm) 二,avg(comm) 三from emp

2 过滤解决,空值替换函数,NVL(comm,0)
  1 select count(*),count(comm)
    from emp
  2 select count(*),count(nvl(comm,0))
    from emp
3 分组;
  按部门,不同的职位统计平均薪水
  select deptno,job,avg(sal) from emp group by deptno;
  以上出错
  **Oracle 所有为包含在组函数中都应该包含,group by语句后
4 where和having

  如果where 和having都可以适用于group ,可以优先考虑====where
  如果条件中含有组函数,则必须适用having

5 Group by 的增强
  报表相关结构
  group by deptno,job +
  group by deptno +
  group by null
  =====
  group by rollup(deptno,job)
  -> 通用写法:group by rollup(a,b);
-----------------------------------
6 分段:
break on deptno skip 2
break on null消除

select deptno,job,avg(sal)
from emp
group by rollup(deptno,job) order by deptno
/

时间: 2024-08-15 21:25:20

Oracle学习第三篇—多行函数的相关文章

oracle学习 第三章 常用的SQL*PLUS命令 ——02

今天接着昨天的RUN命令继续讲. 3.5 n(设置当前行)命令和A(PPEND)(附加)命令 设想,你输入了例3-10的查询语句 例 3-10 SQL> SELECT ename 2 FROM emp; 例 3-10 结果 看到以上输出时,您发现在SELECT子句中忘了job,sal.这时您又如何修改您的SELECT子句呢?首先您应该使用SQL*PLUS的L(LIST)命令来显示SQL缓冲中的内容. 例 3-11 SQL> L 例 3-11 结果 在例3-11显示的结果中,2后面的"

Oracle学习笔记三 SQL命令

SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)               下面是这四种SQL语言的详细笔记: Oracle学习笔记三 SQL命令(二):SQL操作语言类别 Oracle数据类型 创建表时,必须为各个列指定数据类型 以下是 Oracle 数据类型的类别: 字符数据类型 CHAR类型 当需要固定长度的字符串时,使用 CHAR 数据类型. CHAR 数据类型存储字母数字值. CH

Oracle 学习(三)多表联查

目录 Oracle 学习(三)多表联查 一.99语法 二.至少两种方式行转列 三.分页 Oracle 学习(三)多表联查 @ 一.99语法 Oracle学习(二)中我们学习了92语法,现在我们学习一下99语法 sql 1999语法 1.1.cross join 笛卡尔积 select * from emp cross join dept; 1.2.natural join 自然连接 当两个表不具有相同列名,进行cross join,具有相同列名,自动匹配 select * from emp e

Silverlight动画学习笔记(三):缓动函数

(一)定义: 缓动函数:可以将自定义算术公式应用于动画 (二)为什么要用缓动函数: 您可能希望某一对象逼真地弹回或其行为像弹簧一样.您可以使用关键帧动画甚至 From/To/By 动画来大致模拟这些效果,但可能需要执行大量的工作,并且与使用算术公式相比动画的精确性将降低. (三)实例讲解: 1 <UserControl x:Class="AnimationStudy.EasingFunctionAnimation" 2 xmlns="http://schemas.mic

oracle 学习笔记(三)

1. SQL(基础查询) 1.1. 基本查询语句 1.1.1. FROM子句 SQL查询语句的语法如下: SELECT <*, column [alias], -> FROM table; 其中:SELECT用于指定要查询的列,FROM指定要从哪个表中查询.如果要查询所有列,可以在SELECT后面使用*号,如果只查询特定的列,可以直接在SELECT后面指定列名,列名之间用逗号隔开.例句如下,查询dept表中的所有记录: SELECT * FROM dept; 1.1.2. 使用别名 在SQL语

Oracle学习系类篇(三)

1. 存储过程 CREATE  OR REPLACE PROCEDURE  SP_NAME( PM_NAME [IN/OUT/IN OUT] PM_TYPE...)            {AS}                [说明(变量定义)部分]            BEGIN                  可执行部分            [EXCEPTION]                  错误处理部分            END [SP_NAME]; · 参数: in  

oracle学习第三天常用函数

1) trunc函数,用于截断数字, 截断数字,用法为:trunc(n1,n2),n1表示要被截断的数字,n2表示要截断到那位,但是不会进行四舍五入. n2还可以表示负数,表示截断到小数点前,意思就是小数点后面的都不要了,最后结果是以0结尾的整数. 当trunc(n1,n2)当n2为负数时,-1表示个位为0,-2表示个位和十位都为0,后面一次类推.SQL> select trunc(13.1) from dual; TRUNC(13.1)----------- 13 SQL> select t

Oracle 学习第四篇

Day04-Oracle查询基础 学习目标: ? 修改数据 ? 删除数据 ? 简单查询 ? 条件查询 ? 分组查询 oracle修改数据 使用update语句修改表中数据. Update 语句基本语法: update 表名 set 列名=表达式 [,列名2=表达式 2,...][where 条件]; 注意事项: 1.update语法可以用新值更新原有表行中的各列: 2.set子句指示要修改哪些列和要给予哪些值: 3.where子句指定应更新哪些行.如没有 where子句,则更新所有的行.(特别小

Oracle学习(3):单行函数

单行函数 单行函数: 操作数据对象 接受参数返回一个结果 只对一行进行变换 每行返回一个结果 可以转换数据类型 可以嵌套 参数可以是一列或一个值 ************************************************************************************************************************************************* 字符函数 **************************