【问题标题】:SQL Query - to check total amount of each employee and display those employee with amount less than 5000SQL 查询 - 检查每个员工的总金额并显示金额小于 5000 的员工
【发布时间】:2017-09-19 04:00:36
【问题描述】:

我目前正在执行一项任务,我需要计算每个员工拥有的产品总量的总和。然后,我需要设置一个固定金额(5000)并显示那些总金额小于固定金额(5000)的员工。谁能提供针对这个特定问题的查询示例?

【问题讨论】:

  • 您使用的是 MySQL 还是 MS SQL Server? (不要标记未涉及的产品。)

标签: mysql sql sql-server rdbms


【解决方案1】:

将上面的图片作为虚拟表,你可以使用这个查询来得到你合适的结果

SELECT productid, price + productid as Amount
FROM Products
where Amount < 15
order by productid

执行此查询将得到如下图所示的结果:

【讨论】:

    【解决方案2】:

    表 T2 将返回少于 5000 的员工列表,然后将其与您的员工主表 T2 连接。根据需要更改表名。

     SELECT * FROM EMPLOYEE T1 JOIN
     (SELECT EmployeeID,SUM(AMOUNT) AMOUNT FROM PRODUCT
     GROUP BY EmployeeID
     HAVING SUM(AMOUNT)<5000) T2 ON T1.EmployeeID=T2.EmployeeID
    

    【讨论】:

      【解决方案3】:

      如果您使用的是以上 SQL Server 2012:

      SELECT *
      FROM   (   SELECT * ,
                        SUM(AMOUNT) OVER ( PARTITION BY EmployeeID ) AS EmpTotal
                 FROM   PRODUCT
             ) t
      WHERE  t.EmpTotal > 5000;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-20
        • 1970-01-01
        相关资源
        最近更新 更多