我曾經見過這個問題,但在Postgres中沒有看到過,但沒有在5列中看到過。我正在使用Postgres 9.4,我有一個大的位置表,有一些重複。有5個領域,我想檢查重複,這些是:城市,州,郵編,緯度,經度我試過其他方法,如這個find rows that multiple columns are identical using SQL query但它仍然給我錯誤,即使我改變了名稱,以匹配我的表和列。我的很多行的這個樣子SQL查詢如何刪除具有5列相同的行並在Postgres中保留1的行
- 芝加哥IL 41.881 -87.6245
- 芝加哥IL 60475 41.853 -87.6846
- 芝加哥IL 41.881 -87.6245
- 芝加哥IL 60475 41.890 -87.6273
有許多具有相同的城市,州,郵編和緯度和經度略有不同。在上面的列表中,只有#1和#3是相同的,所以我想刪除1並離開另一個。我試圖找到正確的方式做到這一點,而不刪除多餘的行,任何建議將是偉大的... 我得到這個錯誤的查詢 錯誤:列參考「城市」是模棱兩可的 線1:選擇城市,州
Select city,state
FROM zipss JOIN
(SELECT city,state, count(*)
FROM zipss
GROUP BY city,state
HAVING count(*) >=2) dupl on zipss.city = dupl.city and zipss.state = dupl.state;
因此,在你的示例中,你保留行1和2將是解決方案? –
你通過+ count方法得到了哪些錯誤?和@JuanCarlosOropeza,我相信保持2,3,4(或1,2,4)將是解決方案,因爲1和3是相同的。 –
@MattH是的,我只是有點迷惑。順便說一下,'group by'是簡單的部分,我猜OP需要刪除部分。我正在按分區做一個row_number,所以除了'row = 1'之外,全部刪除。 –