- 浏览: 135229 次
- 性别:
- 来自: 杭州
文章列表
ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。
CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。
在文章的最后附上了相关表和记录创建的脚本。
1、向ROLLUP传递一列
SQL> select division_id,sum(salary) 2 from employees2 3 group by rollup(division_id) 4 order by division_id;
DIV SUM(SALARY)--- -----------B ...
用Oracle的分析函数删除重复的数据
没有主键(Primary Key)约束保护的表格可能会让重复的数据行被插入进来。查找这种重复数据的传统方式是通过GROUP BY和HAVING关键字进行查询。在根据关键列把数据分组并计算每个组里的行数之 ...
Oracle分析函数
本文讲述Oracle分析函数用法,首先建库:
Sql代码
create table earnings -- 打工赚钱表
(
earnmonth varchar2(6), -- 打工月份
area varchar2(20), -- 打工地区
sno varchar2(10), -- 打工者编号
sname varchar2(20), -- 打工者姓名
times int, -- 本月打工次数
singleincome number(10,2), -- 每次赚多少钱
...
Oracle外连接中对非连接条件使用(+)需要注意的地方
1.先来说下Oracle外连接语句中对非链接条件使用(+)的作用问题
之前问过朋友,当时大脑处于短路状态,居然没想明白作用是啥。先看例子如下:
select * from dept,emp where dept.deptno=emp.deptno(+) and emp.ename(+)!='KING'; 使用scott账户登录,执行上面的sql语句,可以分析出此sql语句的意图是将部门表和员工表进行左外链,找出链接中员工名字不为‘KING’的记 录,在emp.ename后面加上(+)后,名字为空的记录也会列出来 ...
此文从以下几个方面来整理关于分区表的概念及操作:
1.表空间及分区表的概念
2.表分区的具体作用
3.表分区的优缺点
4.表分区的几种类型及操作方法
5.对表分区的维护性操作.
(1.) 表空间及分区表的概念
表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。
分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在 ...
一个小的etl调度,需要将存储过程执行情况进行返回并控制其后续依赖是否执行,本人只是将调用执行存储过程的shell脚本中存储过程输出参数返回,并没有写具体的控制程给大家,如果在这个思路上继续进行开发,那就是一个小的etl调度程序。
下面将各个脚本进行说明:(ex_produre.sh)
1.执行存储过程脚本
#!/bin/bashuser_name=$1user_pass=$2produre_name=$3statis_sign=$4sql_str=`sqlplus -S $user_name/$user_pass as sysdba <<EOF set line ...
SQL server 与Oracle开发比较
本文档主要从oracle与sql server语法上进行差异性比较,诸如两者在管理,性能,优化等方面的差异不作比较。
●概念上区别
1.Oracle 是一种对象关系数据库管理系统(ORDBMS),而Sql server 只是关系型数据库管
理系统(RDBMS).
2.Oracle使用Internet文件系统,该系统基于Java的应用程序,可以使数据库基于成为
Internet的开发平台;Sql server 是基于windows
3.Orace 主要的三类文件
ETL中缓慢变化维度的处理方式
缓慢变化维处理系统(Slowly Changing Dimension Processor,SCD)
主要功能是处理维度表的属性随时间变化的情况,处理方式为:类型1(直接覆盖),类型2(生成新行),类型3(添加新列)。
迟到维度处理系统(Late Arriving Dimension Handler)
主要功能是当维度数据的变化情况到达数据准备区的时间晚于对应的事实数据时,对维度数据的插入和更新策略。
缓慢变化维(Slowly Changing Dimensions、SCD)。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的, ...
用一句SQL取出第 m 条到第 n 条记录的方法从Table 表中取出第 m 条到第 n 条的记录:(Not In 版本)SELECT TOP n-m+1 *FROM TableWHERE (id NOT IN (SELECT TOP m-1 id FROM Table ))--从TABLE表中取出第m到n条记录 (Exists版本)SELECT TOP n
SQL Server中的行列转换问题
TERADATA的锁表问题一直很头疼,经常早上过来发现任务都没跑,检查发现中间某张表在凌晨生成的时候被某人的查询SQL给锁了,导致后续任务都没有跑,于是查找TD那一堆英文文档,发现一个变相的解决办法,通过建立视图:
create view etl.Etl_Monitor_View
as locking table etl.Etl_Monitor for access
select * from etl.Etl_Monitor
当然有利也有弊,以前正在insert表的时候如果有任务查询这张表,会锁表,通过监控来发现问题,使用这个视图以后就不再锁表了,而是select出来0条记录,导致结 ...
HELP 帮助用户了解数据库中各种对象的结构 SHOW 帮助用户了解某种对象的定义,即返回其DDL语句 EXPLAIN 返回一个SQL语句经优化处理后的执行步骤,注意并未真正执行 FALLBACK 对数据加以保护的一种方式,是冗余的备份 RENAME 对表重命名 NULLIFZERO 对数据作累计处理时,忽略零值 ZEROIFNULL 对数据作累计处理时,将空值作零处理 WITH...BY 对详细数据记录作分类统计(Sub-Total)时有用 MODIFY USER/DATABASE 对用户/数据库对象作动态修改而无需数据库重组 HELP 命令 参数 说明 H ...
1、农民分金条问题
题目:你让农民为你工作7天,给他的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何
给你的工人付费,保证该农民在七天中任意一天 ...
【转载】一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入
适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker's
Delight》,感慨到Henry
S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一个普通的程序中大量运用这样的代码的人简直是疯了!但掌握简单的位运算技巧
还是必要的,所以今天写这篇博文把我积累的一些位运算技巧分享给大家,这些技巧不会是如求“1的数目”的技巧,是最 ...
ETL学习心得:探求数据仓库关键环节ETL的本质
做数据仓库系统,ETL是关键的一环。说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具。回忆 一下工作这么些年来,处理数据迁移、转换的工作倒还真的不 ...