这是一个选择一组所需行的查询:
select max(a),b,c,d,e from T group by b,e;
该表有一个主键,列id.
我想通过从每个行中获取主键来在另一个查询中标识这些行.我该怎么办?这不起作用:
select id,max(a),e from T group by b,e; ERROR: column "T.id" must appear in the GROUP BY clause or be used in an aggregate function
我在其他一些postgresql问题中尝试了这个,但没有运气:
select distinct on (id) id,e; ERROR: column "T.id" must appear in the GROUP BY clause or be used in an aggregate function
我该怎么办?我知道每个结果只能有一个id,因为它是一个主键…我真的希望主键和其余数据,对于初始(工作)查询返回的每一行.