使用Distinct时PostGres错误:postgres错误:无法识别类型记录的排序运算符

时间:2010-03-28 07:26:51

标签: postgresql distinct

**编辑**

没关系,只需要取出parens ......

我收到此错误:错误:无法识别类型记录的排序运算符 当试图使用DISTINCT

以下是查询:

select DISTINCT(g.fielda, g.fieldb, r.type) 
from fields g LEFT JOIN types r ON g.id = r.id;

错误:

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.

1 个答案:

答案 0 :(得分:1)

正如我认为你已经解决了,你不想在DISTINCT之后使用括号。它们看起来应该是参数化DISTINCT,但它们实际上用于使查询返回单列记录类型而不是多列。然后DISTINCT运算符尝试处理记录,并发现您没有在该记录上定义排序。

如果您希望DISTINCT处理返回值的子集,请使用DISTINCT ON