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

oracle 统计每月累积购买人数

oracle 可有什么方法 统计每月累积购买人数
比如说有个门店 2008年购买商品的人数
表:t_buy_log  字段 f_username 用户名称;购买时间f_buytime

1 如果是统计每月购买人数
select to_char(f_buytime,'yyymm'),count(distinct f_username)
from t_buy_log
group by to_char(f_buytime,'yyymm')
order by to_char(f_buytime,'yyymm') asc

结果:
1月 100人
2月 150人
3月 50人

2 如果统计每月累积购买人数 ?
1月 100人
2月 是1月和2月的购买人数 客户有重复 值在100-250之间
3月 是1-3月的购买人数

这个该怎么写呢?
用分析函数的SUM 好像不行
1-1
select to_char(f_buytime,'yyymm'),count(distinct f_username)
from t_buy_log
WHERE to_char(f_buytime,'yyymm')='200901'

1-2
select to_char(f_buytime,'yyymm'),count(distinct f_username)
from t_buy_log
WHERE to_char(f_buytime,'yyymm') between '200901'  and '200902'


1-3
select to_char(f_buytime,'yyymm'),count(distinct f_username)
from t_buy_log
WHERE to_char(f_buytime,'yyymm') between '200901'  and '200903'
Create Table t_tmp_test As
select oldtable.tm,
(
 select/*+parallel(t,20)*/ count(distinct f_username)
 from t_Base_Prouser_Suc t where to_char(f_Expectenddate, 'yyyyMM') <= oldtable.tm
 And t.f_Source In ( Select f_buymodeid from T_base_Flat_Type Where f_department = 1)
 ) rs
from
(
select   to_char(add_months(to_date('2007-01-01','YYYY-MM-DD'),(Level-1)),'yyyymm') tm       
from dual
connect by level < months_between(to_date('2009-12-01','YYYY-MM-DD'),to_date('2007-01-01','YYYY-MM-DD'))+1
) oldtable


相关文档:

Oracle10g r1在LINUX OS4上的安装

安装oralce10g R1(10.1)步骤方法:
第一部分:
一.  硬件环境:
   1. RAM:至少512M
    2.  交换分区大小至少1G(或者是内在的2倍)
   3./tmp目录 至少有400M空闲空间
   4. oracle软件安装空间至少在1.5G--3G之间(依据安装oracle类型而定)
 &nbs ......

Oracle移植到MySQL注意事项

  客户用的数据库是mysql,而研发好的产品支持oracle,为了让客户掏腰包,我们必须把数据库环境从oracle转向mysql。我们在转换的过程中碰到了下面一些问题,希望能给同样遭遇的同仁们一些借鉴。如果我们在最初的设计、编码过程中注意数据库的移植性,这种情况下可以完全不需要作额外工作。
  一、数据库环境从oracle转 ......

Oracle 移动数据文件的操作方法

将表空间和数据文件从一个位置移动到另一个位置的操作方法
一. OFFLINE
OFFLINE 分为ALTER DATABASE 与 ALTER TABLESPACE OFFLINE,
他们的区别参看blog:http://blog.csdn.net/tianlesoftware/archive/2009/11/29/4898800.aspx
按数据文件来:
1.先将相应的数据文件 offline 
ALTER DATABASE DATAFILE 'D:\OR ......

oracle sequence值重置回1

declare 
  n   number(10); 
  tsql   varchar2(100); 
  begin 
  select   test_seq.nextval   into   n   from   dual; 
  n:=-(n-1); 
  tsql:='alter   ......

Oracle 控制文件

一. Oracle 控制文件主要包含如下条目
DATABASE ENTRY
CHECKPOINT PROGRESS RECORDS
REDO THREAD RECORDS
LOG FILE RECORDS
DATA FILE RECORDS
TEMP FILE RECORDS
TABLESPACE RECORDS
LOG FILE HISTORY RECORDS
OFFLINE RANGE RECORDS
ARCHIVED LOG RECORDS
BACKUP SET RECORDS
BACKUP PIECE RECORD ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号