我的表包含很少的行,必须进行聚合。
例如:柱子是
sites, fuel, sales, date
当date、sites和fuel相同时,我需要为这些行聚合sales列,并有一行(删除其他行或不选择这些行,因为值是聚合的)
如何在sql中的select查询中简单地做到这一点?
如
site, fuel, sale,date
siteA, Diesel, 100, 2019-01-01
SiteA, Diesel, 300, 2019-01-01
siteB ,Ulp, 200, 2019-01-01
siteC,E10, 500, 2019-01-01
输出必须是;
site, fuel, sale,date
siteA, Diesel, 400, 2019-01-01
siteB ,Ulp, 200, 2019-01-01
siteC,E10, 500, 2019-01-01
我的sql就像;
select
[CompanyCode] as 'Company Code',
[Sitecode] as 'Site Code',
[ProductCode] as 'Product Name',
CONVERT(date, [InvDay]) as Date,
SUM (CASE
WHEN [Sales] ='NULL' THEN 0
WHEN [Sales] = '' then 0
ELSE
CONVERT(decimal(10,4) ,[Sales] )
END) as 'Sale Volume'
FROM [dbo].[2018-01]
group by Companycode,Sitecode,ProductCode,date,Sales