VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1843|回复: 10

急,关于ABC分析法,求销售量占20%的商品名称,如下:

[复制链接]

3

主题

12

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-2-19 14:30:02 | 显示全部楼层 |阅读模式
有一个表,字段为:商品名称,销售数量,sales(goodsname, salesnum)..
求出占销量的20%的是哪些商品.
回复

使用道具 举报

0

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-4-26 12:15:01 | 显示全部楼层
declare @s1 float
select @s1=sum(salesum) from sales
select goodsname,sum(salesum) from sales group by goodsname with sum(salesum)/@sq>=0.2
回复

使用道具 举报

3

主题

12

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
 楼主| 发表于 2020-4-26 16:30:01 | 显示全部楼层
谢谢楼上的,可是有错误提示:
'sum' 不是可以识别的 GROUP BY 选项。
回复

使用道具 举报

3

主题

12

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
 楼主| 发表于 2020-4-26 18:15:01 | 显示全部楼层
我的意思是:求出,销售数量从高到低,占到百分之二十(可能是一些商品)的都是哪些商品. 对它的销售量,要进行排序.
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-4-26 19:00:01 | 显示全部楼层
select goodsname from [table] group by goodsname having (sum(salesnum)
/(select sum(salesnum) from  [table]))=0.2
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-4-26 19:45:01 | 显示全部楼层
把数据和想要的结果集贴出来
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-4-26 20:45:01 | 显示全部楼层
--这样

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', 200

select 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)
回复

使用道具 举报

3

主题

12

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
 楼主| 发表于 2020-4-26 23:15:01 | 显示全部楼层
格式如下:
字段分别为:
日期, 型号, 销售量
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 了..
回复

使用道具 举报

3

主题

12

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
 楼主| 发表于 2020-4-27 07:15:01 | 显示全部楼层
实际上,就是,先按型号分组求和排序(按降序),
然后,从高到低,看它们的数量和占到50%时,都是哪些商品..
那么,我就可以知道,销量最好的都是哪些商品了...
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-4-27 09:30:02 | 显示全部楼层
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)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表