有一个表,字段为:商品名称,销售数量,sales(goodsname, salesnum)..
求出占销量的20%的是哪些商品.

解决方案 »

  1.   

    declare @s1 float
    select @s1=sum(salesum) from sales
    select goodsname,sum(salesum) from sales group by goodsname with sum(salesum)/@sq>=0.2
      

  2.   

    谢谢楼上的,可是有错误提示:
    'sum' 不是可以识别的 GROUP BY 选项。
      

  3.   

    select goodsname from [table] group by goodsname having (sum(salesnum)
    /(select sum(salesnum) from  [table]))=0.2
      

  4.   

    --这样create table T_sales(goodsname nvarchar(10), salesnum int)
    insert T_sales select 'AA', 200
    insert T_sales select 'AA', 100
    insert T_sales select 'BB', 200select goodsname, 
    销售量=rtrim(sum(salesnum)*100/(select sum(salesnum) from T_sales))+'%' from T_sales group by goodsname--result
    goodsname  销售量           
    ---------- ------------- 
    AA         60%
    BB         40%(2 row(s) affected)
      

  5.   

    格式如下: 
    字段分别为: 
    日期, 型号, 销售量
    12.1   A     2
    12.1   B     1
    12.1   C     1
    12.1   E     3
    12.1   F     1
    12.1   H     2
    12.1   I     1
    12.2   A     1
    12.2   C     1
    12.2   D     1
    12.2   E     4
    12.2   H     2  上面一共销售了20台(不管型号)..我要知道,哪些商品卖得最好.因此,我可以求合,排序.
    得到的结果集为:(不管日期了).
    型号,  销售号
    E       7
    H       4
    A       3
    C       2
    B       1
    D       1
    F       1
    I       1   
    现在,我想知道,哪些商品我售量占到了总销量的:20%,  很明显,是E 7,如果我要知道销量占到50%的是哪些,很明显,   是:E   7,, H   4,,  如果要达到80%,  那就是E,H ,A,C 了..
      

  6.   

    create table T_sales(goodsname nvarchar(10), salesnum int)
    insert T_sales select 'A',     2
    union all select 'B',     1
    union all select 'C',     1
    union all select 'E',     3
    union all select 'F',     1
    union all select 'H',     2
    union all select 'I',     1
    union all select 'A',     1
    union all select 'C',     1
    union all select 'D',     1
    union all select 'E',     4
    union all select 'H',     2  select goodsname, 
    销售量=sum(salesnum), 
    [销售量%]=rtrim(sum(salesnum)*100/(select sum(salesnum) from T_sales))+'%' from T_sales group by goodsname
    order by sum(salesnum) desc
    --result
    goodsname  销售量         销售量%          
    ---------- ----------- ------------- 
    E          7           35%
    H          4           20%
    A          3           15%
    C          2           10%
    D          1           5%
    B          1           5%
    I          1           5%
    F          1           5%(8 row(s) affected)
      

  7.   

    楼上的,谢谢你了,但,你理解错了我的意思,
    我要知道,销量占到50%的都是哪些商品,
    我只需要查出:E 和 H 就可以了.并不是分析,每件商品占的百分比.
      不过,与我要求的比较接近了,我的要求与这个页面的差不多:
    http://blog.csdn.net/verybigmouthz/archive/2004/06/16/15265.aspx