Warum „Gruppieren nach“ und „Summe“ keine doppelten Werte in Zeilen entfernen

Warum „Gruppieren nach“ und „Summe“ keine doppelten Werte in Zeilen entfernen

Wir verwenden Netezza SQL. Ich habe drei Felder: Kunde, Konto und Umsatz.

Ich summiere die Einnahmen wie folgt.

Select Customer, Sum(Revenue) REV_TOT
from Cust_REV
group by ACCOUNT;

Vorausgesetzt, es gibt mehr als ein KONTO PRO KUNDE.

CUSTOMER    REV_TOT

15411780    0.5700

15411780    0.0000

15411790    65.1910

15411790    0.0000

15411790    21.4960

15411790    28.0180

Beachten Sie, dass die KUNDENNUMMER nicht kondensiert. Sollte sie es nicht? Was muss ich tun?

Antwort1

Laut der Antwort von BlueGI gruppieren Sie nach Konto und geben an, dass der Kunde mehrere Konten haben kann. Warum sollte der Kunde in diesem Fall kondensieren? Vorausgesetzt, Sie interessieren sich nur für die Ausgabe von Kunde und Umsatz, sollten Sie das Schlüsselwort „distinct“ für Kunde verwenden. Wenn Sie auch jedes Konto sehen müssen, sollte es in die Select-Anweisung aufgenommen werden und Sie können Ihre ursprüngliche Abfrage beibehalten.

Select Distinct(Customer), Sum(Revenue) REV_TOT
from Cust_REV
group by Customer;

verwandte Informationen