有一销售表,有销售日期、销售金额,每天有多条销售记录,现在查看2005年销售金额最多的10天的日期及销售金额。请各位指教,先谢谢啦!

解决方案 »

  1.   

    --试试
    select top 10 销售日期,sum(销售金额) as 销售金额 
    from t
    group by 销售日期
    order by sum(销售金额) desc
      

  2.   

    1.生成日期临时表
    select top 10 销售日期 into #tmp from t
    group by 销售日期
    order by sum(销售金额) desc2.用这个日期临时表进行左连接
    select a.*,b.* from #tmp a left join t b on (a.销售日期=b.销售日期)注:这样得到的结果是明细,而不是日合计,如想得到日合计,楼上方法可以
      

  3.   

    这样既可
    select top 10 销售日期,sum(销售金额) as 销售金额 
    from [table]
    where datepart(yy,销售日期)='2005'
    group by 销售日期
    order by sum(销售金额) desc
      

  4.   

    有一销售表,有销售日期、销售金额,每天有多条销售记录,现在查看2005年销售金额最多的10天的日期及销售金额。select top 10 * from
    (
      select 销售日期,sum(销售金额) as 销售金额 from 销售表 group by 销售日期 order by 销售金额 desc
    ) t
      

  5.   

    select top 10 销售日期,sum(销售金额) 销售金额 
    from  tb
    where year(销售日期)='2005'
    group by 销售日期
    order by 销售金额 desc