SQL查询 - 检查每个员工的总金额并显示金额小于5000的员工

时间:2017-09-19 04:00:37

标签: mysql sql sql-server rdbms

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

3 个答案:

答案 0 :(得分:1)

sample data

将上面的图像作为虚拟表,您可以使用此查询来获取适当的结果

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

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

Result

答案 1 :(得分:0)

表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

答案 2 :(得分:0)

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

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