Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 这种按查询选择/分组的方法是如何工作的?_Postgresql - Fatal编程技术网

Postgresql 这种按查询选择/分组的方法是如何工作的?

Postgresql 这种按查询选择/分组的方法是如何工作的?,postgresql,Postgresql,我原以为这个查询在Postgres上不起作用,但效果很好: SELECT "users".* FROM "users" GROUP BY users.id 它是怎么工作的?我选择的字段不是分组依据的字段。该表包含数十列 我在OSX 9.3.3.0(21)版上使用Postgres.app。因为您是按一列进行分组的,其他所有功能都依赖于该列: 除非在聚合函数内或未分组列在功能上依赖于分组列[…],否则“选择列表”表达式引用未分组列无效。如果分组列(或其子集)是包含未分组列的表的主键,则存在函数依

我原以为这个查询在Postgres上不起作用,但效果很好:

SELECT "users".* FROM "users" GROUP BY users.id
它是怎么工作的?我选择的字段不是分组依据的字段。该表包含数十列


我在OSX 9.3.3.0(21)版上使用Postgres.app。

因为您是按一列进行分组的,其他所有功能都依赖于该列:

除非在聚合函数内或未分组列在功能上依赖于分组列[…],否则“选择列表”表达式引用未分组列无效。如果分组列(或其子集)是包含未分组列的表的主键,则存在函数依赖关系

重点矿山


这符合SQL标准,并已添加到Postgres 9.1中,为什么不起作用?所有字段都是由users.idGroup获得的,这是在9.1Great answer版本中添加的,谢谢。我想我记得它不是从一个老版本的PG工作。