2017-10-13 1 views
0

Lesen durch ähnliche Themen, aber ich kann keinen Grund, warum dies nicht funktioniert finden:Berechnung der Summe der maximal für MySQL select-Anweisung

select sum(max(i.invoice_total)) as 'Sum of Largest Unpaid Invoice' 
from (select vendor_id, MAX(invoice_total) 
from vendors v join invoices i using (vendor_id) 
where i.payment_date is null 
group by v.vendor_id) as alias; 

Sollte dies nicht berechnen die Summe der maximalen Rechnungsbetrag? Hält mich 'unbekannte Spalte' Fehler, wenn ich die Summe vor dem max.

+0

Sie benötigen den Max (invoice_total) an dem inneren Aliasnamen Abfrage. –

+0

Sie können keine Zeile wie (Summe (max (Variablen)) – RH6

Antwort

2

Sie müssen die Spalte benennen. . . Ich tun würde, so ausdrücklich:

select sum(max_invoice_total) as `Sum of Largest Unpaid Invoice` 
from (select vendor_id, MAX(invoice_total) as max_invoice_total 
     from vendors v join 
      invoices i 
      using (vendor_id) 
     where i.payment_date is null 
     group by v.vendor_id 
    ) alias; 
+0

, die es behoben haben. Vielen Dank, Sir. –

0

Versuchen this- max geben (invoice_total) eine Alias ​​und dann die Auswahl in der Außen verwenden:

select sum(max_invoice) as 'Sum of Largest Unpaid Invoice' 
from (select vendor_id, MAX(invoice_total) as max_invoice 
from vendors v join invoices i using (vendor_id) 
where i.payment_date is null 
group by v.vendor_id) as alias; 
Verwandte Themen