错误:在 "OVER "处或附近有语法错误[英] ERROR: syntax error at or near "OVER"

本文是小编为大家收集整理的关于错误:在 "OVER "处或附近有语法错误的处理方法,想解了错误:在 "OVER "处或附近有语法错误的问题怎么解决?错误:在 "OVER "处或附近有语法错误问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我是 SQL 语言和 PostgreSQL 的新手.我开始熟悉这门语言,并且一直在学习 PostgreSQL 教程,直到我卡在关于窗口函数的一章(链接文本.我创建了完全相同的表'empsalary',如示例所示:

wtouw=# SELECT * FROM empsalary;
  depname  | empno | salary 
-----------+-------+--------
 develop   |    11 |   5200
 develop   |     7 |   4200
 develop   |     9 |   4500
 develop   |     8 |   6000
 develop   |    10 |   5200
 personnel |     5 |   3500
 personnel |     2 |   3900
 sales     |     3 |   4800
 sales     |     1 |   5000
 sales     |     4 |   4800
(10 rows)

并复制粘贴第一个使用窗口函数的语句:

SELECT depname, empno, salary, avg(salary) OVER (PARTITION BY depname) FROM empsalary;

但是,我收到以下错误消息:

ERROR:  syntax error at or near "OVER"
LINE 1: SELECT depname, empno, salary, avg(salary) OVER (PARTITION B...
                                                   ^

使用 OVER 子句的其他努力也没有奏效.我做错了什么?
谢谢.

版本信息:x86_64-pc-linux-gnu 上的 PostgreSQL 8.3.8,由 GCC cc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3) 编译

推荐答案

有没有可能是你的版本不支持这个?

来自 3.5.窗口函数你使用完全相同的函数

<块引用>

这是一个示例,说明如何比较每个员工的工资他或她的平均工资部门:

SELECT depname、empno、salary、avg(salary) OVER (PARTITION BY)depname) FROM empsalary;

但它说明了

<块引用>

PostgreSQL 8.4.1 文档

本文地址:https://www.itbaoku.cn/post/1764176.html