开发者

PostGres Error When Using Distinct : postgres ERROR: could not identify an ordering operator for type record

开发者 https://www.devze.com 2022-12-24 17:17 出处:网络
** EDIT ** Nevermind, just needed to take out the parens... I get this error: ERROR:could not identify an ordering operator for type record

** EDIT **

Nevermind, just needed to take out the parens...

I get this error: ERROR: could not identify an ordering operator for type record when trying to use DISTINCT

Here's the query:

select DISTINCT(g.fielda, g.fieldb, r.type)开发者_Go百科 
from fields g LEFT JOIN types r ON g.id = r.id;

And the errors:

ERROR:  could not identify an ordering operator for type record
HINT:  Use an explicit ordering operator or modify the query.

********** Error **********

ERROR: could not identify an ordering operator for type record
SQL state: 42883
Hint: Use an explicit ordering operator or modify the query.


As I think you've worked out, you don't want the parentheses after DISTINCT. They look like they should be parameterising DISTINCT, but they actually serve to make the query return a single column of record type instead of multiple columns. The DISTINCT operator then tries to work on the record and finds that you've not defined an ordering on that record.

If you want DISTINCT to work on a subset of your return values, use DISTINCT ON.

0

精彩评论

暂无评论...
验证码 换一张
取 消