ORA-30483: window functions are not allowed here
Oracle PL/SQL error message: ORA-30483: window functions are not allowed here.
Cause:
Window functions are allowed only in the SELECT list of a query. A window function cannot be a group function.
Solution:
Correct the syntax, then retry the operation.
Course table
| COURSE_ID | NAME | PRICE |
|---|---|---|
| 1 | SQL 1 | 10 |
| 2 | SQL 2 | 50 |
| 3 | HTML5 | 10 |
| 4 | PHP | 75 |
| 5 | CSS | 20 |
| 6 | Java | 200 |
| 100 | Python | 89 |
Example:
select name, price, rank() over (order by price desc) course_rank from course where rank() over (order by price desc) < = 3;
Output:
ORA-30483: window functions are not allowed here
Correct:
select * from ( select name, price, rank() over (order by price desc) course_rank from course ) c where course_rank < = 3;
Output:
| NAME | PRICE | COURSE_RANK |
|---|---|---|
| Java | 200 | 1 |
| Python | 89 | 2 |
| PHP | 75 | 3 |