Ich lerne derzeit SQL und ich bin erforderlich, um einige SQL-Abfragen auszuführen. Es gibt eine bestimmte Abfrage, die ich nicht implementieren kann.SQL Abfrage Max Wert einer Zusammenfassung
Welche Kunden haben die (absolut) teuersten Bestellungen?
customerid
und total value
aller Aufträge des gleichen Kunden müssen Ergebnis zurückgegeben werden.
Der Tisch ist:
Salesorderheader
:
salesorderid (int) customerid (int) totaldue (double)
1 32000 3.20000
Das Datenbanksystem verwende ich Postgresql ist. Die Abfrage, die ich so weit gekommen ist:
SELECT totaldue, customerid
FROM salesorderheader
WHERE totaldue = (SELECT max(totaldue) FROM salesorderheader);
Diese Abfrage falsch ist, weil ein neuer Wert als total_value
(Gesamtwert aller Aufträge des gleichen Kunden) markiert oder etwas ähnliches muss stattdessen zurückgegeben werden.
Ich weiß dort, dass die SQL-Funktion sum()
kombiniert mit GROUP BY customerid)
verwendet werden muss, aber bisher konnte ich die richtige Abfrage nicht implementieren.
Vielen Dank für Ihre Zeit.
HINWEIS: wenn ich brach alle Aufstellungsortrichtlinien oder diesen Beitrag Duplikat ist mir jetzt lassen und ich werde diesen Beitrag löschen sofort
Vielen Dank für Ihre Antwort, aber Ihre Abfrage ist falsch.Ich benötige den maximalen Gesamtwert aller Bestellungen desselben Kunden. zum Beispiel, wenn jemand 1 Bestellung mit 120 hat, da ein Wert kleiner ist als jemand, der 5 Bestellungen von 50 Wert hat –
Ich sehe deine Tabelle nicht, aber das sollte den Trick machen - bedenke die Ausgabe ist nicht begrenzt –
Noch ist das Ergebnis falsch. Ich habe einen Screenshot von meiner Tabelle hochgeladen (meide die irrelevanten Spalten). Ich denke, die Verwendung von 'sum()' ist erforderlich, um die Abfrage –