给你一个oracle下的查询sql
select sell_no  to_char(sell_date,'yyyymm'),
substr(to_char(last_day(sell_date),'yyyymmdd'),7,2), 
sum(ell_money)
from table1
group by sell_no  to_char(sell_date,'yyyymm'),
substr(to_char(last_day(sell_date),'yyyymmdd'),7,2)

解决方案 »

  1.   

    請問用SQL Server 2000寫的查詢語句
      

  2.   

    哦,不好意思看错了,正确如下
    select sell_no , to_char(sell_date,'yyyymm'),
    substr(to_char(last_day(sell_date),'yyyymmdd'),7,2), 
    max(sell_money)
    from table1
    group by sell_no , to_char(sell_date,'yyyymm'),
    substr(to_char(last_day(sell_date),'yyyymmdd'),7,2)
      

  3.   

    分組裡面不應有substr(to_char(last_day(sell_date),'yyyymmdd'),7,2),這樣的話就會有很多結果出來,現在隻要供應商與年月分組,並且你的max(sell_money)是查詢整張表的最大值,並不是年月日的值。請再想想???
      

  4.   

    给你提供个思路。以下是从表table1中查询以s1,s2分组,s3最大的记录select s1,s2,s3 from table1  as T1
    where T1.s3=select max(s3) from table1 where T1.s1=table1.s1 and T2.s2=table.s2
      

  5.   

    select distinct a.sell_no,b.sell_money,c.sell_date,left(rtrim(a.sell_date),len(a.sell_date)-3) from a  as a left join 
    (select sell_no,max(sell_money)as sell_money from a group by sell_no) as b on a.sell_no=b.sell_no
    left join (select sell_no,max(right(rtrim(sell_date),2)) as sell_date from a group by sell_no) as c on a.sell_no=c.sell_no方法比较苯但应可解决,数据类型问题请自行解决(可能sell_date要转换类型)
      

  6.   


    select a.sell_no,a.sell_money,b.sell_date from(
    (select sell_no,max(sell_money)as sell_money, left(rtrim(sell_date),len(sell_date)-3) as mo 
    from a group by sell_no,left(rtrim(sell_date),len(sell_date)-3)) as a
    left join(select sell_no,max(right(rtrim(sell_date),2)) as sell_date,left(rtrim(sell_date),len(sell_date)-3) as mo
     from a group by sell_no,left(rtrim(sell_date),len(sell_date)-3)) as b
    on a.sell_no=b.sell_no and a.mo=b.mo
    )/********数据*********/
    aa         2001-05-12 80
    aa         2001-05-31 130
    aa         2002-04-20 110
    aa         2002-04-28 250
    aa         2002-05-20 150
    bb         2001-05-10 80
    bb         2001-05-30 130
    /********结果********/sell_no    sell_money  sell_date 
    ---------- ----------- --------- 
    aa         130         31
    aa         250         28
    aa         150         20
    bb         130         30