[MSSQL] TOP 2 aus einer Gruppe von Datensätzen

rrobbyy

Mitglied
folgende Tabelle

IDROWVORGANGROWVORGANGPOSEDITDATELIEFERTERMIN
1183512013-10-22 15:00:17.630000005.05.2015
1183512013-10-22 15:00:17.630000006.05.2015
1183512013-10-22 15:02:41.383000005.05.2015
2183512013-10-22 15:02:41.383000005.05.2015
2777712013-10-22 12:45:41.383000025.12.2015
2777712013-10-22 11:02:41.383000025.11.2015
2183522013-10-22 14:02:41.383000005.05.2015
2777722013-10-22 13:45:41.383000024.12.2015
2777722013-10-22 16:35:41.383000024.11.2015

Ich möchte aus dieser Tabelle die höchsten 2 Liefertermine einer Gruppe. Die Gruppe definiert sich durch die Spalten ROWVORGANG und ROWVORGANGPOS.

vielleicht hat jemand eine Idee?
Danke vorab
Robert
 
danke für den Hinweis Basball

für alle, die interessiert sind:

Code:
select 
 ROWVORGANG, ROWVORGANGPOS, EDITDATE, LIEFERTERMIN, HOST, PART
 , CASE WHEN tmp.PART = 1 THEN 'Alt' ELSE 'NEU' END as Kz
 
 from

 (select ID, ROWVORGANG, ROWVORGANGPOS, LIEFERTERMIN, EDITDATE, HOST
,ROW_NUMBER() over (PARTITION BY vpos.ROWVORGANG, ROWVORGANGPOS order by EDITDATE desc) as 'PART'

from VORGPOS_LIEFERHISTORY vpos) as tmp

where tmp.PART in ( 1, 2)

damit bekomme ich den aktuellsten Datensatz und den davorliegenden raus.
 

Neue Beiträge

Zurück