【发布时间】:2018-04-19 09:12:34
【问题描述】:
我对 SQL/PLSQL 还是很陌生,在思考如何执行此特定查询时遇到了麻烦。
我想从表中选择总工资(工资和佣金之和)大于 2900 的员工人数。
我知道您不能将聚合函数直接放在 WHERE 子句中。我在下面尝试了这个,虽然它没有抛出错误,但也没有给出正确的结果。
在 SQL 中,如何选择 sum(x + y) > z 的记录数?
DECLARE
employee_total_pay_greater NUMBER;
BEGIN
SELECT COUNT(*)
INTO employee_total_pay_greater
FROM EMPLOYEE
WHERE (SELECT SUM(SALARY + NVL(COMMISSION, 0))
FROM EMPLOYEE) > 2900;
DBMS_OUTPUT.PUT_LINE(employee_total_pay_greater);
END;
【问题讨论】: