Intereting Posts
SQL, как сделать стержень одного столбца, независимо от данных Если я использую классный sql-класс в grails, он использует объединение соединений grails? Отметьте нескончаемые диапазоны дат IN Linux Отличный SQL не работает с UNNEST Есть ли способ TRIM всех данных в инструкции SELECT * FROM? Необходимость в синтаксическом анализаторе SQL на Delphi mysql объединяет 2 таблицы, 2 столбца Попытка удалить повторяющиеся строки на основе хэша в MySQL Разработка базы данных и использование нечисловых первичных ключей Сделать SQL Выберите одну и ту же строку несколько раз Mysql Union time VS отдельный запрос один за другим Альтернатива SAP HANA для кросс-приложений Для баз данных выбор правильного типа данных влияет на производительность? Помощь в запросе SQL для поиска следующей доступной даты для системы бронирования Как перенести таблицу из столбцов в строки в Oracle sql

ОШИБКА: ошибка синтаксиса на уровне или около "OVER"

Я новичок в языке SQL и PostgreSQL. Я познакомился с языком и следил за учебником PostgreSQL, пока не застрял в главе о функциях окна ( текст ссылки) . Я создал ту же таблицу «empsalary», как показано в примере:

 wtouw = # SELECT * FROM empsalary;
   depname |  empno |  зарплата 
 ----------- + ------- + --------
  разработка |  11 |  +5200
  разработка |  7 |  4200
  разработка |  9 |  4500
  разработка |  8 |  6000
  разработка |  10 |  +5200
  персонал |  5 |  3500
  персонал |  2 |  3900
  продажа |  3 |  4800
  продажа |  1 |  5000
  продажа |  4 |  4800
 (10 строк)

и скопировал первый оператор, который использует функцию окна:

 SELECT depname, empno, pay, avg (зарплата) OVER (PARTITION by depname) FROM empsalary;

Однако я получил следующее сообщение об ошибке:

 ОШИБКА: ошибка синтаксиса на уровне или около "OVER"
 LINE 1: SELECT depname, empno, зарплата, средняя зарплата OVER (PARTITION B ...
                                                    ^

Другие усилия по использованию предложения OVER также не сработали. Что я сделал не так?
Благодарю.

Информация о версии: PostgreSQL 8.3.8 на x86_64-pc-linux-gnu, скомпилированный GCC cc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3)

Возможно ли, что эта версия не поддерживается вашей версией?

Из 3.5. Функции окна вы используете точно такую ​​же функцию

Вот пример, который показывает, как сравнить зарплату каждого сотрудника со средней зарплатой в его или ее отделе:

SELECT depname, empno, pay, avg (зарплата) OVER (PARTITION by depname) FROM empsalary;

но он утверждает

Документация PostgreSQL 8.4.1