【发布时间】:2015-09-07 21:29:23
【问题描述】:
我有这个代码:
SELECT username, first_name, last_name, NVL(salary,0) "salary"
FROM customer
WHERE NVL(salary,0) < AVG(NVL(salary, 0));
试图找出哪些用户的薪水低于平均水平,而一个用户没有薪水(“null”,我必须将其转换为 0)。
最后一条语句“avg(nvl(salary,0))”不起作用,我终其一生都无法弄清楚原因。如果我用实际的平均数替换语句,一切正常。
【问题讨论】:
-
定义“不起作用”。您是否收到错误消息 - 如果是,它是什么?查询是否运行但提供了错误的结果?
-
您需要在子查询中选择平均值并将此结果与实际工资进行比较
-
我收到此错误消息:“00934. 00000 - “此处不允许使用群组功能””