Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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
org.postgresql.util.PSQLException:错误:未为窗口函数实现DISTINCT_Sql_Postgresql - Fatal编程技术网

org.postgresql.util.PSQLException:错误:未为窗口函数实现DISTINCT

org.postgresql.util.PSQLException:错误:未为窗口函数实现DISTINCT,sql,postgresql,Sql,Postgresql,这个SQL 选择COUNTDISTINCTFOO over PARTITION BY NULL as bar 导致错误的原因 org.postgresql.util.PSQLException:错误:未为窗口函数实现DISTINCT 似乎没有任何解决stackoverflow上此错误的方法。已修复 将SQL更改为通过NULL作为条在分区上选择COUNTFOO Postgres不喜欢在计数后使用DISTINCT,当没有DISTINCT时,它会将DISTINCT视为一个函数。请注意,DISTINCT

这个SQL

选择COUNTDISTINCTFOO over PARTITION BY NULL as bar

导致错误的原因

org.postgresql.util.PSQLException:错误:未为窗口函数实现DISTINCT

似乎没有任何解决stackoverflow上此错误的方法。

已修复

将SQL更改为通过NULL作为条在分区上选择COUNTFOO


Postgres不喜欢在计数后使用DISTINCT,当没有DISTINCT时,它会将DISTINCT视为一个函数。

请注意,DISTINCT不是一个函数。跳过那些额外的括号,只需编写COUNTDISTINCT FOO即可使代码更清晰@jarlh代码就是这样呈现给我的,在对代码进行了一些修补之后,删除括号并不能解决错误,但在以后的问题中需要注意。这通过更改语义来修复错误。不幸的是,正如错误所述,Postgresql不允许在窗口函数中使用count distinct。有关保留语义的解决方案,请参见。