2017-11-06 4 views
1

Tabellendaten:Summe der Menge für den Max-Preis in der gleichen Zeit

Time BUY SELL BUY_Qty SELL_Qty 
3:00 20  10  5  2 
3:00 20  10  5  1 
3:00 20  10  5  4 
3:00 10  20  2  3 
3:00 10  20  2  3 

Erwartetes Ergebnis aus den obigen Daten:

Time max(BUY) MIN(SELL) BUY_Qty SELL_Qty 
3:00  20   10  15  7 
+0

Möchten Sie gruppieren es nach der Zeit? – Nikolaus

+0

ja. Ich möchte es basierend auf Zeit gruppieren – user2814847

+0

Ich möchte die Summe von BUY Menge für den maximalen Kaufpreis und Summe von SELL Menge für den Mindestverkaufspreis – user2814847

Antwort

0

Hier ist die Abfrage, die Sie in Oracle verwenden:

select t1.Time, max_buy, min_sell, SUM(t1.BUY_Qty), SUM(t1.SELL_Qty) 
from table1 t1 
join(SELECT Time, MAX(BUY) as max_buy, MIN(SELL) as min_sell 
    FROM Table1 GROUP BY Time) t2 
    on t1.time=t2.time and t1.buy=t2.max_buy 
group by t1.Time, max_buy, min_sell 

SQL DEMO HERE

Verwandte Themen