select 分店名称,分店编号,商品编号,商品名称,sum(销售金额) as 销售金额
into #Temp
from tablename group by 分店名称,分店编号,商品编号,商品名称select 分店名称,分店编号,商品编号,商品名称,销售金额
from #Temp a
where 商品编号 in (
select top 50 商品编号 from #temp where  分店编号=a.分店编号
group by 销售金额 desc
)
order by 分店编号,销售金额 descdrop table #Temp如果原始表已经汇总,就不必临时表

解决方案 »

  1.   

    select  A.分店名称,B.分店编号,B.商品编号,A.商品名称, B.销售金额
    from  yourTable A ,
    (select top 50  分店编号,商品编号,sum(销售金额) as 销售金额
    group by  分店编号,商品编号 
    order by 销售金额 desc) as B
    where A.分店编号=B.分店编号 and A.商品编号=B.商品编号
    order by  B.销售金额 desc
      

  2.   

    CSDNM(决定不当CSDN经理了) 和hjhing(winding) 
    都能够实现
      

  3.   

    select tid,TT,TV
    from table3  A  where tid in (select top 2 tid  from table3 B where B.TT=A.TT  order by B.tv desc)
    order by tt,tv descselect 分店名称,分店编号,商品编号,商品名称,销售金额
    from yourTable A
    where 商品编号 in 
    (select top 50 商品编号 from yourTable B where B.分店编号=A.分店编号
     order by 销售金额 desc)order by 分店编号,销售金额 desc 
      

  4.   

    select 分店名称,分店编号,商品编号,商品名称,销售金额
    from yourTable A
    where 商品编号 in 
    (select top 50 商品编号 from yourTable B where B.分店编号=A.分店编号
     order by 销售金额 desc)order by 分店编号,销售金额 desc
      

  5.   

    SQL语句我想你也已经很熟悉了,而且众位仁兄也提供的差不多。
    我的建议:做几个视图,这样可以提高速度,节省资源
    SQL语句我想就省了吧!