每个邮政编码组的销售总额

时间:2015-11-29 10:15:15

标签: sql sql-server sql-server-2014

我有一个查询,您可以在其中查看按邮政组划分的所有人的销售情况。但现在我希望得到每个邮政集团所有销售额的总和。

我有这样的查询:

SELECT 
    p.LastName,
    ROW_NUMBER() OVER (PARTITION BY PostalCode 
                       ORDER BY SUM(s.SalesYTD) DESC) AS 'Row Number',
    CAST(s.SalesYTD AS INT) SalesYTD, 
    a.PostalCode
FROM 
    Sales.SalesPerson s
INNER JOIN 
    Person.Person p ON s.BusinessEntityID = p.BusinessEntityID
INNER JOIN 
    Person.Address a ON a.AddressID = p.BusinessEntityID
GROUP BY 
    p.LastName, a.PostalCode,s.SalesYTD;
--WHERE TerritoryID IS NOT NULL
--AND SalesYTD <> 0

但是如何管理每个邮政组的总数?

谢谢

这是输出:

LastName    Row Number  SalesYTD    PostalCode
Mitchell    1   4251369 98027
Blythe  2   3763178 98027
Carson  3   3189418 98027
Reiter  4   2315186 98027
Vargas  5   1453719 98027
Ansman-Wolfe    6   1352577 98027
Jiang   7   559698  98027
Pak 1   4116871 98055
Varkey Chudukatil   2   3121616 98055
Saraiva 3   2604541 98055
Ito 4   2458536 98055
Valdez  5   1827067 98055
Mensa-Annan 6   1576562 98055
Campbell    7   1573013 98055
Tsoflias    8   1421811 98055
Alberts 9   519906  98055
Abbas   10  172524  98055

那么如何获得邮政编码的salesYTD总数:98027?

谢谢

1 个答案:

答案 0 :(得分:1)

获取每个邮政编码的销售额:

SELECT PostalCode, SUM(SalesYTD) AS 'Summary sales'
FROM Sales.SalesPerson s
INNER JOIN Person.Person p ON s.BusinessEntityID = p.BusinessEntityID
INNER JOIN Person.Address a ON a.AddressID = p.BusinessEntityID
GROUP BY a.PostalCode

如果您希望销售特定PostalCode,您甚至可以这样做:

SELECT SUM(SalesYTD) AS 'Summary sales'
FROM Sales.SalesPerson s
INNER JOIN Person.Person p ON s.BusinessEntityID = p.BusinessEntityID
INNER JOIN Person.Address a ON a.AddressID = p.BusinessEntityID
WHERE PostalCode = 98027