Oracle 分析函数分组累加!
用户号码 登陆时间
1300000000 2010-01-01
1300000001 2010-01-01
1300000002 2010-01-02
1300000001 2010-01-02
1300000003 2010-01-03
1300000002 2010-01-03
1300000004 2010-01-04
1300000003 2010-01-04
1300000004 2010-01-02
1300000006 2011-01-04
1300000001 2011-01-04
剔除重复登陆的用户,只计算统计时间内用户的第一次登陆记录。然后每天累加用户数。
select b.statusdate,
sum(times) over(partition by trunc(b.statusdate, 'mm') order by b.statusdate)
from (select a.statusdate, count(1) times
from (select phone, trunc(min(statusdate), 'dd') statusdate
from test_table t
where t.statusdate >= to_date('20100101', 'yyyymmdd') --统计开始时间
and t.statusdate < to_date('20100201', 'yyyymmdd')
group by phone) a --取用户第一条记录时间
group by a.statusdate) b
由统计开始和结束时间控制数据源。trunc(b.statusdate, 'mm') 控制累加的范围,如果是月则表示按月累计,也就是每月的第一次重新统计。
由于受到trunc(b.statusdate, 'mm') 只能按年,月,日累加所以如果数据源跨年则不能一累加。如果需要一直累加则:
select b.statusdate,
sum(times) over(partition by b.part order by b.part,b.statusdate)
from (select a.part,a.statusdate, count(1) times
from (select 1 part,phone, trunc(min(statusdate), 'dd') statusdate
from test_table t
where t.statusdate >= to_date('20100101', 'yyyymmdd') --统计开始时间
and t.statusdate < to_date('20110201', 'yyyymmdd')
group by phone) a --取用户第一条记录时间
group by a.statusdate,a.part) b
增加一个临时字段表示累加范围,例如:1表示数据统计第一次进行累加数据统计,然后按这一次的所有数据进行去重和累叫。
相关文档:
索引组织表(IOT)有一种类B树的存储组织方法。普通的堆组织表是以一种无序的集合存储。而IOT中的数据是按主键有序的存储在B树索引结构中。与一般B树索引不同的的是,在IOT中每个叶结点即有每行的主键列值,又有那些非主键列值。
在IOT所对应的B树结构中,每个索引项包 ......
记录一下ORACLE 10gR2的软件下载地址,备用。
下载OTN上的这些软件,你需要一个OTN免费帐号,不过如果通过迅雷进行下载,就不用登陆OTN了:
Oracle Database 10g Release 2 (10.2.0.1.0) Enterprise/Standard Edition for Microsoft Windows (32-bit)
http://download.oracle.com/otn/nt/oracle10g/10201/10201_database ......
1、数据库的逻辑结构和物理结构:
Oracle logically divides the database into a smaller units to manage ,store,and retreive
data efficently.
Tablespace\Blocks\Extents\segment\
有四种segment:
data segment、Index segment、Temporay segment、Rollback Segment
temporary segment:
Ar ......
The following items are available in the network listener configuration file (listener.ora).
* Listener Address Section
* SID_LIST_listener_name Static Service Section
* Control Parameters
The listener.ora file is located in $ORACLE_HOME/n ......