假设销售表 t1 如下
empno   sale_date   sale_num
--------------------------------
emp1    2005-1-1    3
emp1    2005-1-2    8
emp1    2005-2-9    2
emp2    2005-3-6    9
emp2    2005-3-9    5我要如下结果,4列为:员工,雇佣日,总销售量,第一天销售量
empno   min(date)   sum(sale_num)   first(sale_num)
---------------------------------------------------------
emp1    2005-1-1    13              3
emp2    2005-3-6    14              9

解决方案 »

  1.   

    select distinct empno,
           min(sale_date) over(partition by empno) as min(date),
           sum(sale_num) over(partition by empno) as sum(sale_num),
           first_value(sale_num) over(partition by empno order by sale_date) as first(sale_num)
    from t1
      

  2.   

    select t1.empo,t1.date,t2.sale,t1.sale_num
    from(select empo,sum(sale_num) as sale,min(date) date
    from t1
    group by empo) t2,t1
    where t1.empo=t2.empo
    and   t1.date=t2.date
      

  3.   

    大大就是厉害!学习~~select distinct empno,
           min(sale_date) over(partition by empno) as "min(date)",
           sum(sale_num) over(partition by empno) as "sum(sale_num)",
           first_value(sale_num) over(partition by empno order by sale_date) as "first(sale_num)"
    from t1
      

  4.   

    SQL> select * from b;B1         B2                B3 B4          B5
    ---------- ---------- --------- ----------- -----------
    emp1                          3 2005-1-1    
    emp1                          8 2005-1-2    
    emp1                          2 2005-2-9    
    emp2                          9 2005-3-6    
    emp2                          5 2005-3-9    Executed in 0.016 secondsSQL> select distinct b1,min(b4) over(partition by b1) m,sum(b3) over(partition by b1) s,first_value(b3) over(partition by b1 order by b4) f from b;B1         M                    S          F
    ---------- ----------- ---------- ----------
    emp1       2005-1-1            13          3
    emp2       2005-3-6            14          9Executed in 0.016 secondsSQL>
      

  5.   

    多谢各位大侠了
    我要回去好好学分析函数使用,每次到要用的时候就不会了。to:sbaz(万神渡劫)
    你这个是没错的,用子查询是可以,不过我这个需求是及其简化的了,本身的SQL很复杂,所以我是想尽量简化,才求助大侠给我分析函数的做法。。
      

  6.   

    to:duanzilin(寻) ,是否可以不用distinct,而是用group by empno?