首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >总销售额排名前5位的销售人员

总销售额排名前5位的销售人员
EN

Stack Overflow用户
提问于 2013-03-19 06:18:17
回答 1查看 4.3K关注 0票数 1

我正在试着根据他们的总销售额找出前5名销售人员。我想展示销售代表的名字,以及他们的总销售额,我在AdventureWorks工作。

一直让我感到困惑的是GROUP BY语句。在下面的查询中,我不确定为什么GROUP BY不能工作。我确信有一种更有效的方法可以做到这一点,但在这一点上,我只是试图真正学习连接和子查询,而GROUP BY的工作方式似乎并不是我所掌握的。

代码语言:javascript
运行
复制
SELECT SalesLT.Customer.SalesPerson, SUM(repjoin.TotalDue) OVER (PARTITION BY repjoin.salesperson)
FROM SalesLT.customer INNER JOIN
    (SELECT SalesLT.SalesOrderHeader.CustomerID, 
            SalesLT.SalesOrderHeader.TotalDue, 
            SalesLT.Customer.SalesPerson
    FROM SalesLT.Customer
        INNER JOIN SalesLT.SalesOrderHeader
        ON SalesLT.SalesOrderHeader.CustomerID = SalesLT.Customer.CustomerID
    ) repjoin
        ON SalesLT.Customer.CustomerID = repjoin.CustomerID
GROUP BY SalesLT.Customer.SalesPerson
EN

回答 1

Stack Overflow用户

发布于 2013-03-19 06:43:48

为什么不简单地

代码语言:javascript
运行
复制
SELECT TOP 5
  c.SalesPerson, 
  SUM(soh.TotalDue) TotalSales
FROM
  SalesLT.Customer c
  INNER JOIN SalesLT.SalesOrderHeader soh ON soh.CustomerID = c.CustomerID
GROUP BY 
  c.SalesPerson
ORDER BY
  SUM(soh.TotalDue) DESC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15488018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档