以下查询在Sybase SQL中有效: -
select id, version from local_tbl
group by id
having version < max(version)
除了最大值之外,它获取了所有id和版本。
当我在Postgres 9.1中尝试相同的查询时,我收到以下错误消息: -
Error: ERROR: column "local_tbl.version" must appear in the GROUP BY clause or be used in an aggregate function
我无法将版本放入群组中,因为我想要所有版本的ID。
我该如何做同等的事?
答案 0 :(得分:1)
尝试:
SELECT id, version
FROM (
select id,
version,
max(version) OVER (PARTITION BY id) as max_version
from local_tbl ) sub
WHERE version < max_version