繁体   English   中英

如何按周对数据分组求和,但是从头算起?

[英]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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM