在 Oracle9i中 查询再 2009-01 至 2009-06 所有用户 第一次所消费的费用 ,没有思路,总不能没给人都查一遍吧,请大家帮我想想有没有好的方法 !!!!!

解决方案 »

  1.   

    表结构呢,按人员分组,按日期排序取第一条记录假设你的表结构是这样的:
    tableA
    userid,xfdate,xfmoneyseect userid,xfdate,xfmoney
    from(
    select userid,xfdate,xfmoney,row_number() over(partition by userid order by xfdate) rn
    from tableA) where rn=1
      

  2.   


    我帮你加上
    seect userid,xfdate,xfmoney
    from(
    select userid,xfdate,xfmoney,row_number() over(partition by userid order by xfdate) rn
    from tableA
    where to_char(xfdate,'yyyy-mm') between '2009-01' and '2009-06') 
    where rn=1;
      

  3.   


    row_number() over(partition by userid order by xfdate)  這個事關鍵代碼.
      

  4.   

    Min(xfdate) group by貌似也可以吧