【问题标题】:I need to perform a SUM operation in SQL我需要在 SQL 中执行 SUM 操作
【发布时间】:2013-10-21 10:39:25
【问题描述】:

好的,这些是我的桌子:

  EMPLOYEE         STORE          BORROW                 UNIFORM
- EMP_ID         - STORE_ID     - UNIFORM_ID           - UNIFORM_ID
- EMP_NAME       - STORE_NAME   - BORROW_START_DATE    - UNIFORM_COST
- STORE_ID                      - BORROW_END_DATE
                                - EMP_ID

我需要一个函数来返回每个员工当前从每个商店借来的制服的总成本。 我需要它看起来像这样

Store Name      Total Uniform Costs
North Store     $4,250
East Store      $2,500
South Store     $2,750
West Store      $3,000

我不知道从哪里开始,我知道我需要使用 GROUP BY 子句,但我不知道如何使用它。能给我解释一下吗?

【问题讨论】:

    标签: sql select group-by sum


    【解决方案1】:

    这个简单的查询应该会得到你想要的结果:

    select s.STORE_NAME, sum(u.UNIFORM_COST) as TotalCost
    from STORE s
    inner join EMPLOYEE e on e.STORE_ID = s.STORE_ID
    inner join BORROW b on b.EMP_ID = e.EMP_ID
    inner join UNIFORM u on u.UNIFORM_ID = b.UNIFORM_ID
    group by s.STORE_NAME
    

    第一步是连接所有需要的表,以便我们在商店和统一成本之间建立某种联系,因此要连接这两个表,我们必须让所有员工都在商店和他们的借款。之后,我们将统一成本求和以获得总价值,最后我们必须按商店名称对结果进行分组。

    【讨论】:

      【解决方案2】:

      您需要使用联接将 Store 表与 Uniform 表连接起来

      select STORE_NAME, sum ( UNIFORM_COST) as TotalUniformCosts
      from STORE s
      inner join EMPLOYEE e
         on s.STORE_ID=e.STORE_ID
      inner join BORROW b
         on e.EMP_ID=b.EMP_ID
      inner join UNIFORM u
         on b.UNIFORM_ID=u.UNIFORM_ID
      group by STORE_NAME
      

      【讨论】:

        猜你喜欢
        • 2013-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-29
        • 2016-12-20
        • 2018-07-24
        • 1970-01-01
        相关资源
        最近更新 更多