2017-05-12 38 views
1

我使用PHP來從表中檢索PostgreSQL的數據,該數據不能重複,我已經有獲取數據的方式無需反覆行PostgreSQL的重複行

SELECT DISTINCT realpath FROM paths WHERE fn='$fn' 

我需要的是知道的一種方式這是重複的行

回答

2
with a as (
    SELECT count(1),realpath 
    FROM paths WHERE fn='$fn' 
    GROUP BY realpath 
) 
select realpath 
from a 
where count > 1 

updtae 作爲Abelisto建議,我嘗試使用CTE可能會失敗,使之更加明確,所以更短,更好的辦法:

SELECT count(1),realpath 
    FROM paths WHERE fn='$fn' 
    GROUP BY realpath 
    HAVING count(1) > 1 
+0

感謝它的工作完美:D – Mika

+1

爲什麼不只是使用'有count(*)> 1'? – Abelisto

+0

dunno。只是認爲OP會更清楚。當然有更短的...我可能會編輯有兩個,你是對的 –