
oracle
hongyd
这个作者很懒,什么都没留下…
展开
-
oracle NULL列的计算
在oracle表中,很多列是允许NULL值存在的,尤其是number类型的列。那么,这些列在计算中,是如何处理的呢。1,对于number类型的列,在进行加,减,乘,除等运算的时候,如果有NULL存在,那么结果也是NULL2,对应count操作,会忽律NULL列,如果都是NULL,结果为03,对于sum操作,会忽律NULL列,如果都是NULL,结果为NULL...原创 2018-07-11 10:48:53 · 958 阅读 · 0 评论 -
over partition by order by rows|range(1)
oralce提供了分析函数,用于一些常见的数据分析。语法格式如下:function_name(arg1,arg2...argn)over (partition by arga,argb...order by argA,argB[range|rows] between [unbounded preceding |current row| n preceding|n fo...原创 2018-10-15 10:54:17 · 681 阅读 · 0 评论 -
over partition by order by rows|range(2)之聚合函数
测试表如下:create table sales_fact (id_ number,year number,week number,product varchar2(20),country varchar2(20),region varchar2(20),sale number(10,2)) 填充测试数据:declarev_id number :=1;begin ...原创 2018-10-15 11:03:59 · 581 阅读 · 0 评论 -
over partition by order by rows|range(3)之lead和lag
lead函数用于提取当前行前某行的数据lag函数用于提取当前行后某行的数据语法如下:lead(expression,offset,default) over(partition by ... order by ...)lag(expression,offset,default) over(partition by ... order by ... )例如提取前一周和后一周的数据...原创 2018-10-15 11:19:00 · 689 阅读 · 0 评论 -
over partition by order by rows|range(4)之first_value和last_value
在通常的max和min聚合函数中,可以取得分区中的最大值和最小值。但是,如果取得最大值或者最小值所在的行的其它列。,就比较困难了。因此,oracle提供了First_value和Last_value两个分析函数,可以得到各个列的值。语法如下:first_value(expression) over (partition by ... order by ... rows be...原创 2018-10-15 13:49:45 · 435 阅读 · 0 评论 -
over partition by order by rows|range(5)之Nth_value
上文中,我们提到了First_value和Last_value两个分析函数,可以提取第一行或者最后一行数据但是,如果我们想提取开始的第二行,第三行,或者倒数第二行,倒数第三行的时候,就比较困难了因此,oracle提供了Nth_value函数,可以提取需要的任一行。语法如下:NTH_VALUE(mesure,n) [FROM FIRST,FROM LAST] [RESPECT ...原创 2018-10-15 13:57:32 · 393 阅读 · 0 评论 -
over partition by order by rows|range(6)之rank()和dense_rank()
前文中的First_value、Last_value和Nth_value用于提取指定的行某些时候,我们需要对分区中的数据进行排序,并得到序号,这样,rank()和dense_rank()函数就用上了。rank() over(partition by ... order by ...)dense_rank() over(partition by ... order by ...)...原创 2018-10-15 14:14:34 · 299 阅读 · 0 评论 -
over partition by order by rows|range(7)之row_number
rank()/dense_rank()函数实现了分区内部排序的功能。对于数值相同的行,rank()/dense_rank()给出了相同的数字,row_number函数处理方式则不同,该函数将会给出不同的数字,从而实现数据的大排行副作用是相同数值的行,将有不同的序号。语法如下:row_number() over(partition by ... order by ...)示例...原创 2018-10-15 14:31:27 · 360 阅读 · 0 评论 -
oracle imp仅导入数据
如果仅仅导入一个表,那么命令如下:imp user/password@sid file=file.dmp IGNORE=Y GRANTS=N INDEXES=N CONSTRAINTS=N tables=table_name如果导入全部数据,那么命令如下:imp user/password@sid file=file.dmp IGNORE=Y GRANTS=N INDEXES=N CO...原创 2019-02-19 16:11:53 · 8615 阅读 · 0 评论