Geben Sie nur Zeilen zurück, bei denen der Wert mehr als n Mal vorkommt

8

Angenommen, ich habe eine Tabelle

%Vor%

Ich brauche eine Abfrage, die nur diejenigen IDs zurückgibt, denen drei oder mehr Werte zugeordnet sind. In diesem Fall wird nur B zurückgegeben. Danke.

    
Dzmitry Sevkovich 12.11.2013, 21:04
quelle

4 Antworten

21

Verwenden Sie die Group By -Klausel mit Having :

%Vor%

Demo

    
Tim Schmelter 12.11.2013, 21:06
quelle
3

Falls Sie den Wert einbeziehen möchten, können Sie Fensterfunktionen verwenden, um diejenigen mit drei oder mehr Zeilen zu finden, z. B .:

%Vor%

Und Sie können ORDER BY ändern, um besser zu bestimmen, welche value enthalten ist.

    
Aaron Bertrand 12.11.2013 21:11
quelle
2

select id from table group by id having (count(id) >=3)

    
rkh 12.11.2013 21:07
quelle
1
%Vor%     
Santhosh 12.11.2013 21:06
quelle

Tags und Links