Postgres 在具有 OVER 子句的查询中报告 "window function call requires an OVER clause"
Postgres reporting "window function call requires an OVER clause" in a query that has an OVER clause
我有 table、me
、e_id
列、first_name
和 last_name
。 (还有一些其他列,但我只是想弄清楚 window 函数的内容。)当我尝试进行查询并为给定 table 中挑选名字值时 e_id
价值:
SELECT e_id, first_value(first_name), first_value(last_name)
OVER (PARTITION BY e_id)
FROM me
我收到 "window function call requires an OVER clause" 错误。现在,就像我说的,我还不知道我在做什么,但我很确定至少在该查询中尝试了 OVER 子句。好的,所以当我在没有功能的情况下尝试时:
SELECT e_id, first_name, last_name
OVER (PARTITION BY e_id)
FROM me
我在 OVER 处遇到语法错误。我是针对 9.1.13 服务器的 运行 psql
版本 9.4.4。我正在盯着 9.1 的文档看,在我看来那里记录了 OVER。我只是缺少一些基本的东西吗?
每个 window 函数必须有自己的 OVER
子句。您的第一个查询的问题是 first_value(first_name)
window 函数没有 OVER
子句。
你的第二个查询的问题是你有一个 OVER
子句,它前面没有 window 函数。
试试这个
SELECT e_id,
first_value(first_name) OVER (PARTITION BY e_id),
first_value(last_name) OVER (PARTITION BY e_id)
FROM me
我有 table、me
、e_id
列、first_name
和 last_name
。 (还有一些其他列,但我只是想弄清楚 window 函数的内容。)当我尝试进行查询并为给定 table 中挑选名字值时 e_id
价值:
SELECT e_id, first_value(first_name), first_value(last_name)
OVER (PARTITION BY e_id)
FROM me
我收到 "window function call requires an OVER clause" 错误。现在,就像我说的,我还不知道我在做什么,但我很确定至少在该查询中尝试了 OVER 子句。好的,所以当我在没有功能的情况下尝试时:
SELECT e_id, first_name, last_name
OVER (PARTITION BY e_id)
FROM me
我在 OVER 处遇到语法错误。我是针对 9.1.13 服务器的 运行 psql
版本 9.4.4。我正在盯着 9.1 的文档看,在我看来那里记录了 OVER。我只是缺少一些基本的东西吗?
每个 window 函数必须有自己的 OVER
子句。您的第一个查询的问题是 first_value(first_name)
window 函数没有 OVER
子句。
你的第二个查询的问题是你有一个 OVER
子句,它前面没有 window 函数。
试试这个
SELECT e_id,
first_value(first_name) OVER (PARTITION BY e_id),
first_value(last_name) OVER (PARTITION BY e_id)
FROM me