0

以下查询在 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 的所有版本。

我该怎么做?

4

1 回答 1

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
于 2013-01-31T08:55:07.507 回答