易截截图软件、单文件、免安装、纯绿色、仅160KB

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表示数据统计第一次进行累加数据统计,然后按这一次的所有数据进行去重和累叫。


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

LINUX下Oracle库备份脚本

vi /opt/back.sh(oracle用户)
#!/bin/ksh
tim=`date +%Y%m%d`
unset USERNAME
#export DISPLAY=0.0.0.0:0.0
#export ORACLE_BASE=/home/oraprod3
#export ORACLE_HOME=/prod/oracle/prod3db/9.2.0
#export ORACLE_SID=PROD3_db
#export LD_LIBRARY_PATH=/prod/oracle/prod3db/9.2.0/lib
#export ORACLE_TERM=vt100 ......

Oracle 时间操作大全

在系统时间基础上延迟5秒
  sysdate+(5/24/60/60)
  在系统时间基础上延迟5分钟
  sysdate+5/24/60
  在系统时间基础上延迟5小时
  sysdate+5/24
  在系统时间基础上延迟5天
  sysdate+5
  在系统时间基础上延迟5月
  add_months(sysdate,-5)
  在系统时间基础上延迟5年
  add_months ......

Oracle Listener的TNS 12502错误

每隔几秒钟listener日志中就出现一次该错误的记录,即使是在没有人使用的情况下也是如此,不过并没有发现客户端机器不能正常连接数据库的情况。
   Oracle关于TNS-12502错误的解释:
Error: ORA-12502 / TNS-12502
Text: TNS:listener received no CONNECT_DATA from client
Cause: No CONNECT_DATA was ......

Oracle常用操作(不断更新)

关于安装:
    安装Oracle10g时,所输入的全局的SID名称为test(即数据库名,不能作为用户名来登录),密码为test(该密码对应的用户为system,sys等)。
 
    装完后,若从网页上登录oracle,则输入url:http://localhost:1158/em 
    若无法显 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号