如何按周汇总数据但从头开始汇总?
How to sum data group by week but sum from beginning?
我有这样一个数据库:
Entry_No Week Registering_Date Bin_Code Item_No Quantity
=====================================================================
1 26 6/26/2015 BIN 1 A 10
2 26 6/26/2015 BIN 1 B 20
3 26 6/26/2015 BIN 1 C 30
4 26 6/26/2015 BIN 1 D 40
5 27 6/29/2015 BIN 1 A -3
6 27 6/29/2015 BIN 2 A 3
7 27 6/29/2015 BIN 1 A -2
8 27 6/29/2015 BIN 3 A 2
9 28 7/5/2015 BIN 1 B -15
10 28 7/5/2015 BIN 3 B 15
11 28 7/5/2015 BIN 1 C -25
12 28 7/5/2015 BIN 2 C 25
13 28 7/5/2015 BIN 1 B 50
我想按 BIN_CODE 和 ITEM_NO 按周对组求和,但从数据开始。我知道如何按周对组求和,但它只显示关于那个的摘要周(不是从头开始)
我期望的结果是这样的:
WEEK BIN CODE ITEM NO QUANTITY
====================================
26 BIN 1 A 10
26 BIN 1 B 20
26 BIN 1 C 30
26 BIN 1 D 40
26 BIN 2 A -
26 BIN 2 B -
26 BIN 2 C -
26 BIN 2 D -
26 BIN 3 A -
26 BIN 3 B -
26 BIN 3 C -
26 BIN 3 D -
27 BIN 1 A 5
27 BIN 1 B 20
27 BIN 1 C 30
27 BIN 1 D 40
27 BIN 2 A 3
27 BIN 2 B -
27 BIN 2 C -
27 BIN 2 D -
27 BIN 3 A 2
27 BIN 3 B -
27 BIN 3 C -
27 BIN 3 D -
28 BIN 1 A 5
28 BIN 1 B 55
28 BIN 1 C 5
28 BIN 1 D 40
28 BIN 2 A 3
28 BIN 2 B -
28 BIN 2 C 25
28 BIN 2 D -
28 BIN 3 A 2
28 BIN 3 B 15
28 BIN 3 C -
28 BIN 3 D -
抱歉,我是新手,在这里写了一个很好的问题。这是图片:
你能帮帮我吗?
先致谢:)
试试这个查询
select Week,Registering_Date,Bin_Code,Item_No, case when asum>0 then asum else '-' end as QUANTITY
from(
select Week,Registering_Date,Bin_Code,Item_No,sum(case when Quantityfrom>0 then quentity else o end ) as asum
from tablename
group by Week,Bin_Code,Item_No)a
希望这有效:
SELECT
t.Week AS WEEK,
t.Bin_Code AS BIN_CODE,
t.Item_No AS ITEM_NO,
SUM(CASE WHEN items.Item_No = t.Item_No THEN items.Quantity ELSE 0 END) AS QUANTITY
FROM your_table as t
CROSS JOIN (SELECT DISTINCT Item_No FROM your_table) AS items
GROUP BY
t.Week,
t.Bin_Code
ORDER BY
1,2,3
我有这样一个数据库:
Entry_No Week Registering_Date Bin_Code Item_No Quantity
=====================================================================
1 26 6/26/2015 BIN 1 A 10
2 26 6/26/2015 BIN 1 B 20
3 26 6/26/2015 BIN 1 C 30
4 26 6/26/2015 BIN 1 D 40
5 27 6/29/2015 BIN 1 A -3
6 27 6/29/2015 BIN 2 A 3
7 27 6/29/2015 BIN 1 A -2
8 27 6/29/2015 BIN 3 A 2
9 28 7/5/2015 BIN 1 B -15
10 28 7/5/2015 BIN 3 B 15
11 28 7/5/2015 BIN 1 C -25
12 28 7/5/2015 BIN 2 C 25
13 28 7/5/2015 BIN 1 B 50
我想按 BIN_CODE 和 ITEM_NO 按周对组求和,但从数据开始。我知道如何按周对组求和,但它只显示关于那个的摘要周(不是从头开始)
我期望的结果是这样的:
WEEK BIN CODE ITEM NO QUANTITY
====================================
26 BIN 1 A 10
26 BIN 1 B 20
26 BIN 1 C 30
26 BIN 1 D 40
26 BIN 2 A -
26 BIN 2 B -
26 BIN 2 C -
26 BIN 2 D -
26 BIN 3 A -
26 BIN 3 B -
26 BIN 3 C -
26 BIN 3 D -
27 BIN 1 A 5
27 BIN 1 B 20
27 BIN 1 C 30
27 BIN 1 D 40
27 BIN 2 A 3
27 BIN 2 B -
27 BIN 2 C -
27 BIN 2 D -
27 BIN 3 A 2
27 BIN 3 B -
27 BIN 3 C -
27 BIN 3 D -
28 BIN 1 A 5
28 BIN 1 B 55
28 BIN 1 C 5
28 BIN 1 D 40
28 BIN 2 A 3
28 BIN 2 B -
28 BIN 2 C 25
28 BIN 2 D -
28 BIN 3 A 2
28 BIN 3 B 15
28 BIN 3 C -
28 BIN 3 D -
抱歉,我是新手,在这里写了一个很好的问题。这是图片:
你能帮帮我吗?
先致谢:)
试试这个查询
select Week,Registering_Date,Bin_Code,Item_No, case when asum>0 then asum else '-' end as QUANTITY
from(
select Week,Registering_Date,Bin_Code,Item_No,sum(case when Quantityfrom>0 then quentity else o end ) as asum
from tablename
group by Week,Bin_Code,Item_No)a
希望这有效:
SELECT
t.Week AS WEEK,
t.Bin_Code AS BIN_CODE,
t.Item_No AS ITEM_NO,
SUM(CASE WHEN items.Item_No = t.Item_No THEN items.Quantity ELSE 0 END) AS QUANTITY
FROM your_table as t
CROSS JOIN (SELECT DISTINCT Item_No FROM your_table) AS items
GROUP BY
t.Week,
t.Bin_Code
ORDER BY
1,2,3