日期:2014-05-17  浏览次数:20795 次

Oracle 统计查询
现有一个用户表大约有20万左右的数据,需要统计出每一月份用户注册数,注销数等等 具体如下图,如何写sql语句
sql oracle

------解决方案--------------------
select to_char(时间,'YYYYMM'),SUM(注册数),SUM(注销数).... from table group by to_char(时间,'YYYYMM') ,产品名称,地市名称
不知道LZ是不是要这样的效果
------解决方案--------------------
如果里面的日期是完全的  可以直接分组统计  如果不完全 那么构造一个日期表 用日期来左连接要查询的表统计数量

select to_date('2013-03'
------解决方案--------------------
'-01','yyyy-mm-dd')+level-1 dt
from dual
connect by level <= ADD_MONTHS(to_date('2013-03','yyyy-mm'),1)-TRUNC(to_date('2013-03','yyyy-mm'),'MM')

------解决方案--------------------
    我觉得是这个  样子的  我不清楚 你那个 有没 有 一个 时间 那个字段  ,没有的 话 在 虚拟一个 表,
在进行联合 查询,我只现在 只能 想到 这么多,对这个表 不是 很清楚。

select sum(case DELETEDFLAGwhen 0 then
              1
           end) as counts
  from tab_third_party
       
        select count(case DELETEDFLAG
                       when 1 then
                        0
                     end) as '注销',
               count(case DELETEDFLAG
                       when 0 then
                        0
                     end) as '未注销',
               count(case USERTYPE
                       when 0 then
                        0
                     end) as '会员',
               count(case USERTYPE
               &n