mysql verwendet Summe und max mit der höchsten bezahlten Rechnung zu finden

stimmen
-1

Ich versuche , herauszufinden , wie den MAX Ergebnis einer Summe von Werten aus einer Tabelle erhalten , um den höchsten bezahlten Betrag einer Quittung angezeigt werden soll . Ich sollte auch subselect verwenden, aber im verwirrt. Bisher in dieser Abfrage wird mir alles , was ich bis auf den Maximalwert angezeigt müssen. Dies ist die Tabelle (Rechnung + OD) verwendet werden müssen Dies ist , was ich zur Zeit bin immer Dies ist , was ich bekommen sollte

wo ich kann, MAX () (die Summe) hinzufügen?

SELECT invoicenumber invoice
     , invoicedate date
     , SUM(orderqty*ordersell) AS 'Invoice Total' 
  FROM invoice 
  JOIN orderdetail 
    ON invoice.invoiceid = orderdetail.invoiceid 
 GROUP 
    BY invoice ;
Veröffentlicht am 07/11/2018 um 23:43
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
0

Ich weiß nicht, ob dies aus der Nähe ist, was Sie wo suchen, aber ich denke, dass dies funktionieren würde (wenn ich das richtig verstanden, was Sie versuchen zu erreichen).

SELECT inv.invoicenumber,
       inv.invoice, 
       inv.invoicedate AS 'Date',
       MAX((SELECT ord.orderqty+ord.ordersell FROM DUAL)) AS 'Invoice Total' 
  FROM invoice inv
  JOIN orderdetail ord
    ON inv.invoice.invoiceid = ord.orderdetail.invoiceid 
 GROUP BY inv.invoice, 
          inv.invoice, 
          inv.invoicedate;
Beantwortet am 08/11/2018 um 00:14
quelle vom benutzer

stimmen
0

Sie können dies (das Hinzufügen auf die vorherige Antwort) versuchen:

SELECT invoicenumber AS invoice
 , invoicedate AS date
 , SUM(orderqty*ordersell) AS 'Invoice Total' 
FROM invoice 
JOIN orderdetail ON invoice.invoiceid = orderdetail.invoiceid 
GROUP BY invoicenumber,invoicedate ORDER BY `Invoice Total` DESC LIMIT 1;

Kann nicht zu effizient sein, sondern nur das höchste Ergebnis zurückgibt.

Beantwortet am 08/11/2018 um 00:08
quelle vom benutzer

stimmen
0

Wenn Sie SUM oder MAX in SELECT verwenden, müssen Sie GROUP BY anderen Spalten:

SELECT invoicenumber AS invoice
 , invoicedate AS date
 , SUM(orderqty*ordersell) AS 'Invoice Total' 
FROM invoice 
JOIN orderdetail ON invoice.invoiceid = orderdetail.invoiceid 
GROUP BY invoicenumber,invoicedate;
Beantwortet am 07/11/2018 um 23:48
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more