使用SQL Server Management Studio使用SUM函数将基于ID和名称的销售加在一起

问题描述 投票:0回答:1

我使用SQL管理器创建了一个请求:

SELECT 
    CONCAT(LastName,' ', FirstName) AS [Nom du vendeur], 
    SalesPersonID, 
    DATEPART(YYYY, [OrderDate]) AS [Annee], 
    FORMAT(SUM(soh.SubTotal), '#,#00.') AS [Ventes]
FROM 
    Sales.SalesOrderHeader AS soh 
INNER JOIN 
    Person.Person AS pp ON soh.SalesPersonID = pp.BusinessEntityID
WHERE 
    pp.PersonType = 'SP' 
    AND soh.OnlineOrderFlag = '0' 
    AND OrderDate NOT BETWEEN CONVERT(DATETIME, '01/01/2011', 101) AND CONVERT(DATETIME, '12/31/2011', 101) 
GROUP BY 
    SubTotal, OrderDate, SalesPersonID,LastName, FirstName
ORDER BY  
    [Annee], [Nom du vendeur]

这是我的输出:

https://i.stack.imgur.com/00jjA.png

[您可以在代表销售列的[ventes]列中看到,根据ID号和名称,销售并不能全部累加,而我在选择中使用了SUM()函数。任何想法我的代码有什么问题吗?

sql-server ssms
1个回答
0
投票
从group by子句中删除小计,聚合值不需要在group by子句中。
© www.soinside.com 2019 - 2024. All rights reserved.