首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

统计相干

2012-07-27 
统计相关-- 需求:求出下表指定日期的每个TYPE_ID的新增客户和累计新增客户,-- 20110703的新增客户去重(20

统计相关

-- 需求:求出下表指定日期的每个TYPE_ID的新增客户和累计新增客户,-- 20110703的新增客户=去重(20110703的手机号 MINUS (20110701+20110702的手机号))-- 20110703累计新增客户 = 去重((20110703+20110702)的手机号 MINUS 20110701的手机号))SQL> select * from tab;DATE_ID              TYPE_ID              USER_PHONE-------------------- -------------------- --------------------20110701             T恤                  1340000000020110701             T恤                  1340000000120110701             短裤                 1340000000120110701             短裤                 1340000000520110702             T恤                  1340000000020110702             T恤                  1340000000220110702             短裤                 1340000000220110702             短裤                 1340000000320110703             T恤                  1340000000320110703             T恤                  1340000000420110703             短裤                 1340000000320110703             短裤                 1340000000512 rows selectedSQL> SELECT m.type_id,  2         SUM(CASE WHEN (m.rn = 1 AND m.date_id = '20110703') THEN 1 ELSE 0 END) new_num,  3         SUM(CASE WHEN (m.rn = 1 AND m.date_id > m.min_date AND m.date_id <= '20110703') THEN 1 ELSE 0 END) all_new_num  4    FROM (  5    SELECT t.date_id,  6           t.type_id,  7           ROW_NUMBER() OVER(PARTITION BY t.type_id,t.user_phone ORDER BY t.date_id) rn,  8           MIN(t.date_id) over(PARTITION BY t.type_id ORDER BY t.date_id) min_date  9       FROM tab t 10  ) m GROUP BY m.type_id 11  ;TYPE_ID                 NEW_NUM ALL_NEW_NUM-------------------- ---------- -----------T恤                           2           3短裤                          0           2

热点排行