2017-02-21 2 views
0

Ich habe die folgende SELECT-AnweisungPostgresql Wählen Sie doppelte Werte Wiederholung mehr als einmal

SELECT user_id, cat_id, type_id, index_id FROM index_logs 

Suche jede index_id, um herauszufinden, die mehr als einmal (Dubletten) für eine bestimmte Gruppe

"user_id, cat_id, and type_id" 
existiert

Grundsätzlich kann index_id nur dupliziert werden, wenn die obige Gruppe anders ist, aber für diese Gruppe von Daten sollte es keine Duplikate geben.

Irgendwelche Ideen, wie ich das tun kann?

+1

Bitte geben Datenabtastwert und die gewünschten Ergebnisse. –

+0

'Gruppe von ... mit ...' –

Antwort

0

Wenn ich das richtig verstanden:

select user_id, cat_id, type_id, index_id 
from t 
group by user_id, cat_id, type_id, index_id 
having count(*) > 1; 
+0

unsicher, warum dies die genehmigte Antwort ist als (a) der tatsächliche Tabellenname ist nicht korrekt und (b) es hat mehrere Felder ausgewählt, wenn OP speziell nach "suchen zu suchen out jede index_id, die mehr als einmal existiert " – user1327961

0
SELECT DISTINCT 
    index_id 
FROM 
    index_logs 
GROUP BY 
    user_id 
    , cat_id 
    , type_id 
HAVING 
    COUNT(index_id) > 1 
Verwandte Themen