2016-04-04 5 views
0

Ich habe einen Bericht, den ich für Mitglieder schreiben möchte, der die Gesamtzahl der eindeutigen Werte für jeden Typ in einer Zeile zählt. Hier ist, was ich habe jetzt:So kombinieren Sie eindeutige Werte in die Zählfunktion

Member Name Letter Type 
John Doe  Member 7 Day Letter 
Jane Doe  Provider 7 Day Letter 
Jane Doe  Member 7 Day Letter 

ID Letter Type 
1001 Member 7 Day Letter 
1002 Provider 7 Day Letter 

Wie erhalte ich die folgende Ausgabe:

Member Name Letter Sent 
John Doe    1 
Jane Doe    2 
+1

Haben Sie die Dokumentation für [die Funktion 'count()'] (http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions039.htm) überprüft? Besonders das optionale Schlüsselwort distinct? –

+0

@AdamSilenko - warum denkst du, dass "Letter" und "Type" getrennte Spalten sind und nicht "Letter Type" ein anderer zitierter Bezeichner ist? –

+0

@AdamSilenko Bitte wenden Sie keine eigene Interpretation in Bearbeitungen an. Wenn Sie Zweifel haben, klären Sie in Kommentaren. '" Letter Type "' war eindeutig eine einzelne Spalte, keine separaten Spalten in der ursprünglichen OP-Frage. – Munir

Antwort

0

wahrscheinlich brauchen Sie nur zählen und Gruppe von:

SELECT "Member Name" 
, "Letter Type" 
, COUNT(1) AS n 
FROM your_table 
GROUP BY "Member Name" 
, "Letter Type"; 
0

Diese Sie geben die gewünschte Ausgabe.

SELECT 
    "Member Name", 
    COUNT(DISTINCT "Letter Type") as "Letter Sent" 
FROM <your-table> 
GROUP BY "Member Name" 

Auch ich würde Ihnen raten, durch die Oracle-Dokumentation zu gehen oder online einige der Tutorials folgen, wenn Sie sich mit Oracle SQL mehr planen. Dies sind wirklich grundlegende Operationen, die von einem anständigen Tutorial abgedeckt werden sollten.

+0

Super! Das funktioniert tatsächlich. Ich habe dieses Stück zu meinem SQL-Code hinzugefügt und der Bericht lief reibungslos. –

Verwandte Themen