我希望这个查询不能在Postgres上运行,但它运行正常:
SELECT "users".* FROM "users" GROUP BY users.id
怎么运作?我正在选择我没有分组的字段。该表包含数十列。
我在OSX上使用Postgres.app,版本9.3.3.0(21)。
答案 0 :(得分:2)
因为您按照所有其他功能依赖的列进行分组:
对于SELECT列表表达式来说,除了在聚合函数中或在分组列[...]上未分组列是功能相关的时,引用未分组的列是无效的。如果分组列(或其子集)是包含未分组列的表的主键,则存在功能依赖性。
强调我的
这符合SQL标准,并已在Postgres 9.1中添加