从具有分组依据的选择中选择具有max(rowid)的记录

时间:2017-07-26 08:41:11

标签: sql postgresql rowid

我有这样的查询:

SELECT aa, bb, cc, dd, ee, ff, gg, hh, ii, ll, mm
FROM table1
GROUP BY aa, bb, cc, dd, ee;

现在,我想选择不在group by中比较的字段,带有max rowid的记录。 我在Postgres上,所以ROWID相当于CTID?。

postgresql中的等效行为是什么? 怎么做? 感谢

1 个答案:

答案 0 :(得分:0)

我不确定您的意思,但您可以将max(ctid)添加到SELECT列表中。

两个警告:

  1. 这没什么意义。

  2. ctid与Oracle的ROWID完全不同,因为PostgreSQL的行版本控制工作方式不同。在每个UPDATE之后,一行可以有不同的ctid