要求;按编码分组查询 商品销售ABC分析报表 按数量统计
A类 销量占 5%
B类 销量占 20%
C类 销量占 75%
商品编码 销量
001 5
002 8
003 3
002 8
003 2
005 8
002 1
003 5
002 12
001 1
005 5
结果应该是
商品编码 销量 ABC
........................
.
.
.
...
A:
------------------------------------
-- Author: johnsonHe
-- Date:2008-10-27 23:45:42
------------------------------------
-- Test Data: ta
IF OBJECT_ID('ta') IS NOT NULL
DROP TABLE ta
Go
CREATE TABLE ta(商品编码 NVARCHAR(3),销量 INT)
Go
INSERT INTO ta
SELECT '001',5 UNION ALL
SELECT '002',8 UNION ALL
SELECT '003',3 UNION ALL
SELECT '002',8 UNION ALL
SELECT '003',2 UNION ALL
SELECT '005',8 UNION ALL
SELECT '002',1 UNION ALL
SELECT '003',5 UNION ALL
SELECT '002',12 UNION ALL
SELECT '001',1 UNION ALL
SELECT '005',5
GO
--Start
select 商品编码,sum(销量) as 销量
,case
when sum(销量)*1.0/b.s <0.05 then 'A'
when sum(销量)*1.0/b.s between 0.05 and 0.2 then 'B'
ELSE 'C'
END as ABC
from ta,
(SELECT sum(销量) as s
FROM ta) b
group by 商品编码,b.s
--Result:
/*
商品编码 销量 ABC
---- ----------- ----
001 6 B
002 29 C
003 10 B
005 13 C
*/
--End
本文介绍了一种基于SQL的商品销售ABC分析方法,通过将商品按销量分为A、B、C三类来优化库存管理。A类商品销量占比5%,B类占比20%,C类占比75%。文中提供了一个具体的SQL查询案例,展示了如何实现这一分类。

被折叠的 条评论
为什么被折叠?



