das folgende Szenario vor:Wie MAX über SUMs MySQL finden
an Item has a Price
a Order contains Items
a Delivery contains Orders
Ich möchte für jede Lieferung abfragen, die Bestellung mit dem höchsten Preis, falls der Preis einer Bestellung die Summe der Preise für die ist enthaltene Gegenstände.
Ein einfaches ausreichend Schema würde wie folgt aussehen:
Lieferung
D_ID
Bestellen
O_ID
Artikel
I_ID, Preis
ItemsInOrder
O_ID, I_ID
OrdersInDelivery
D_ID, O_ID
ich in dem Punkt, steckte die Summe Ergebnisse zu haben, um die maximale Bestellmenge pro Lieferung zu erhalten:
SELECT d_id,o_id,SUM(price)
from ItemsInOrder
natural join OrdersInDelivery
natural join Item
group by d_id,o_id
Wie soll ich von hier aus gehen zu bekommen dass jedes d_id einmal und neben der o_id mit der maximalen Preissumme erscheint?
Subquery mit SUM und dann SELECT MAX() auf sie. – i486
Wenn Sie möchten, sollten Sie diese einfache Vorgehensweise in zwei Schritten befolgen: 1. Wenn Sie dies noch nicht getan haben, stellen Sie geeignete DDLs (und/oder eine SQL-Datenbank) bereit, damit wir das Problem leichter replizieren können. 2. Wenn Sie dies noch nicht getan haben, geben Sie ein gewünschtes Ergebnisset ein, das den Informationen in Schritt 1 entspricht. – Strawberry
Und was möchten Sie, wenn zwei Lieferungen denselben Höchstpreis haben? –