2017-05-04 39 views
0

我在其中有多個重複一個觀點一個記錄。我只想得到一個重複。沒有條件提取重複。獲取多個重複

查看:

State|ZIP|Sales 
AZ 231 asdas 
AZ 231 qwerq 
FL 12 wqeq 
FL 12 lak 
KY 1 zxc 
KY 1 qwe 

預期輸出:

State|ZIP|Sales 
AZ 231 asdas 
FL 12 wqeq 
KY 1 zxc 

有超過5000條記錄。如果你這樣做分明它仍然會給予同樣的數據集,因爲這些都是我試圖從更大角度提取領域,正如你所看到的記錄並不完全不同。

謝謝。

+1

爲什麼要'AZ 231 asdas'而不是其他?其他行相同。您需要提供選取這些行的邏輯。 – ollie

+0

2中的任何一個都可以。我只是選擇將它們顯示爲之前的那個。沒有邏輯,我爲什麼不能得到它們。而且,這些字段是varchar(甚至不能放max函數)。 @ollie – qwerty

+0

您可以在VARCHAR列使用聚合,你嘗試了嗎? – ollie

回答

4

您可以使用聚集了這一點,因爲任何的許多價值是可以接受的你:

select state, zip, max(sales) 
from your_table 
group by state, zip 
+0

這是一個varchar字段......不能把最大 – qwerty

+1

@Rahul - 可以。 – GurV

+0

按功能分組應該與select子句中的字段相同? – qwerty

1

的一種方式可以通過和聚集功能,例如基於組:

select state, ZIP, min(Sale) 
from my_table 
group by state, ZIP 

或最大長度

select state, ZIP, max(length(Sale)) 
from my_table 
group by state, ZIP 
+0

我不能把一個字符字段@scaisEdge聚合函數 – qwerty

+0

您可以使用最大長度,反正你可以在字符串列 – scaisEdge

+0

不應該將GROUP BY函數有相同數量的字段作爲在SELECT語句中使用聚合函數。@ scaisEdge – qwerty