[英]How to SUM many rows into 1 row in SQL Server?
以下是我的语法
with AA as
(
select distinct Store_Code, sum([Transactions]) as totaltrans
from CRM_RETAIL_SUMMARY
where Store_Code in ('L43','J62','L45','UA2','A35','949','C50','L44','Y45')
and Trans_Hdr_Sale_Date BETWEEN '2018-12-1' AND '2018-12-31'
group by Transactions, Store_Code
),
BB as
(
select distinct[Store_Code] as storecode from CRM_RETAIL_SUMMARY
)
select AA.totaltrans, BB.storecode
from AA
inner join BB on AA.Store_Code = BB.storecode
然后结果显示:
storecode totaltrans
----------------------
A35 65
A35 76
A35 48
A35 62
A35 56
UA2 5
UA2 6
UA2 8
UA2 15
UA2 9
UA2 16
949 16
949 29
949 55
但我想对每个存储代码进行如下求和,但我不知道如何:
storecode totaltrans
---------------------
A35 307
UA2 59
谢谢大家的回答
您只需store_code
分组,而不是store_code transactions 。 你不需要第二个cte
。
with AA as (
select Store_Code, sum([Transactions]) as totaltrans
from CRM_RETAIL_SUMMARY
where Store_Code in ('L43','J62','L45','UA2','A35','949','C50','L44','Y45')
and Trans_Hdr_Sale_Date BETWEEN '2018-12-1' AND '2018-12-31'
group by Store_Code
)
select * from AA;
你会使用group by
吗?
select BB.storecode, sum(AA.totaltrans)
from AA join
BB
on AA.Store_Code = BB.storecode
group by BB.storecode;
当然,这是在 CTE 之后进行的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.