使用for循环使用sysdate提取数据?

时间:2015-10-26 21:01:13

标签: sql oracle loops for-loop sysdate

我正在提取数据,需要获得有效和过期日期列中的人员的运行迭代计数。例如,我需要计算一个月内的成员数量:

    m.memid   m.effective_dt   m.expiration_dt
    00010       3/1/14           7/31/15
    00011       1/1/12           1/31/14
    00012       10/1/13          1/31/15


    select  mar2015.nummem032015
           , apr2015.nummem042015

    from (
          select count(distinct m.member) as nummem032015
          from m
          where to_date('31-mar-2015') between trunc(m.EFFECTIVE_DT) and      
          trunc(m.EXPIRATION_DT
          ) mar2015

         , (
            select count(distinct m.member) as nummem042015
            from m
            where to_date('30-apr-2015') between trunc(m.EFFECTIVE_DT) and      
            trunc(m.EXPIRATION_DT
          ) apr2015

我正在寻找一种不必每个月都这样做的方法。

输出看起来像这样:

    month     count
    mar2015   1000
    apr2015   2010
    may2015   1900

谢谢。

0 个答案:

没有答案