SQL – DB2 einen Datensatzzähler einbauen

Die DB2-Funktion ROW_NUMBER() in Kombination mit OVER()  liefert einen Datensatzzähler in der Ergebnismenge als eigene Spalte.Wird ein eigener Gruppenwechsel – also eine Nummerierung über einen bestimmten Teil der Ergebnismenge – gewünscht, so ist in der Funktion OVER() die Partitionierung (also das oder die Attribute der Gruppe) und eine Sortierung via ORDER BY anzugeben.

select 
  ROW_NUMBER () OVER ()
from 
  dbpost01.vwpo0021koko
where 
  fs_dvsys#zuliefer = 400 
  and '29.08.2014' between koko_glt_v_dat and koko_glt_b_dat 
and fs_gp = 2 

Hier ein Beispiel mit einem Gruppenwechsel:

select 
  ROW_NUMBER () OVER (PARTITION BY fs_gesggrbl order by fs_gesggrbl asc) as zeile 
  , fs_gesggrbl
from 
  dbpost01.vwpo0021koko
where 
  fs_dvsys#zuliefer = 400 
  and '29.08.2014' between koko_glt_v_dat and koko_glt_b_dat 
  and fs_gp = 16