2016-04-07 4 views
0

Ich versuche, den richtigen ext_price (erweiterter Preis) für die folgenden Kriterien zu erhalten.MySql auswählen, Zwischensumme des Preises erhalten * Menge mit mehreren Kriterien

sales 

id| sku| price_ea | qty 
1 abc 5 1 
2 abc 4 1 
3 abc 6 1 
4 abc 6 2 
5 abc 5 2 

Die TRUE ext_price für alle wäre 37.

ich diese Abfrage renne aber Ergebnisse scheinen mit insgesamt ext_price von 26

select sku, price_ea, sum(qty), sum(price_ea)*qty ext_price 
from sales 
group by sku, price_ea 

und Ergebnisse falsch zu sein:

sku| price_ea| qty | ext_price 
222 4 1 4 
222 5 3 10 
222 6 3 12 

Was mache ich falsch? und wie können Sie korrekte Ergebnisse erhalten?

+0

Er, Sum (a * b)? – Strawberry

Antwort

0

Sie sind fast in der Nähe der Lösung! Ich habe eine SQLFIDDLE erstellt, um die Abfrageausführung zu visualisieren.

sollte die Abfrage sein:

SELECT sku 
    , price_ea 
    , SUM(qty) total_qty 
    , price_ea*SUM(qty) ext_price 
    FROM sales 
GROUP 
    BY sku 
    , price_ea; 

Die SQLFIDDLE Link lautet: http://sqlfiddle.com/#!9/5880b/2

+1

Perfekt! Danke Arsho! – joell

+0

Ich bin froh zu hören, dass meine Antwort perfekt war. Ich wäre dankbar für jede Rückmeldung oder Kritik, von der ich lernen kann oder die mir hilft, meine Antwort zu verbessern, wenn ich sehe, dass ich darüber abstimmen kann. @joell – arsho

+0

Es war mein Downvote. Aber vielleicht habe ich es falsch verstanden. Es ergab sich aus der Frage, dass @joell ein einzelnes Ergebnis von '37' erwartet – Strawberry

Verwandte Themen