2012-11-07 14 views
3

怎麼可能列的順序在一個獨特的問題。我得到DISTINCT在多列上,訂單是否重要?

SELECT DISTINCT ON (the_geom,plz) the_geom

任何想法,我在想錯了不同數量的行?我使用的是PostgreSQL 9.1.5。

+2

@Mahmoud Gamal:DISTINCT和DISTINCT ON是不同的東西,請檢查手冊。 –

回答

2

documentation suggestsDISTINCT ON需要order by開始相同的列。因此,這會工作:

SELECT DISTINCT ON (the_geom,plz) 
     the_geom 
,  plz 
FROM YourTable 
ORDER BY 
     the_geom 
,  plz 

忽略了正確的order by可能會產生意想不到的效果。

+0

就是這樣。我想,選擇哪一行是不可預知的(對我來說並不重要),但顯然這個函數在沒有ORDER BY的情況下是無用的。 – ratatosk

0

我想你可能會想要更簡單的事情。這是否給你想要的東西?:

SELECT DISTINCT the_geom FROM YourTable; 
+0

我實際上需要他們只在兩列DISTINCT,而不是在任何地方。你的例子應該這樣做。 – ratatosk