Ich muss zählen und max Aggregatfunktion in derselben Abfrage. Zum Beispiel habe ich History-Tabelle enthält Datumsspalte. Ich muss das letzte Datum abrufen sowie () mit einigen Kriterien zählen. Die Kriterien gelten nur für die Anzahl (). Ich bin in der Lage, das späteste Datum unter Verwendung der Funktion des Maximums und des Ranges abzurufen. Aber konnte beides nicht zusammenführen. Könnten Sie bitte helfen?Anzahl und max Aggregatfunktion in der gleichen Tabelle in einer Abfrage
Update:
Szenario: Kunde kauft/verkauft Anteile.
Input: Tabelle Share_history und Tabelle Kunden und Tabelle Teilen und Tabelle Share_Status
Kunde:
Cust_id |Cust_name
1 |A
2 |B
Teilen:
Share_id|Share_Name|Owner|
10 |ABC |XYZ |
20 |BCD |MNC |
Share_Status:
Share_Status_Id|Share_Status_Name
1 |Buy
2 |Sell
Share_history:
Share_history _id|Share_id|Trans_date|Share_status_Id|Cust_id
100 |10 |12/12/14 | 1 |1
101 |10 |24/12/14 | 2 |1
102 |10 |14/01/15 | 1 |1
103 |10 |28/02/15 | 2 |1
103 |10 |16/03/15 | 1 |1
Ausgang: neueste TRANS_DATE und count (kein Mal spezifische Aktie gekauft wurde (1)) und cust_id = 1.
Abfrage:
select share1.Share_id,SHAREHIST.Latest_Date,SHAREHIST.buycount
from Share share1 left outer join
(select share_id,max(Trans_date) keep(dense_rank last order by share_id) as Latest_Date,
(select count(*) as buycount from Share_history where Share_status_id=1 and Share_id=share1.Share_id)
from Share_history
group by Share_id
) SHAREHIST
on SHAREHIST.share_id=share1.share_id
ERWARTET:
Share_id|Latest_Date|buycount
10 |16/03/15 | 3
Probentabellendaten hinzufügen und das erwartete Ergebnis. Kennzeichne auch die dbms. Und zeigen Sie uns Ihren aktuellen Abfrageversuch. – jarlh