Hallo,
ich versuche eine lange Tabelle mit DISTINCT zu komprimieren, es gibt ein kleines Problem dabei:
Die Liste schaut so aus:
ID Name
001 Butter
002 Butter
003 Honig
004 Honig
005 Erdbeeren
006 Butter
007 Butter
008 Honig
Jetzt soll die Liste komprimiert werden auf die vorkommenden Namen,
aber nur, falls die Namen aufeinanderfolgen, Ziel also
Butter
Honig
Erdbeeren
Butter
Honig
Somit nicht die normale Abfrage mit SELECT DISTINCT, die
Butter
Honig
Erdbeeren
ergibt.
Die Reihenfolge der Namen ist durch die ID in ganz bestimmter Weise festgelegt und ändert sich nicht (hat eine Bedeutung).
Mein Lösungsansatz:
Damit ich so verdichten kann, müsste man also noch ein Zeichen für den Gruppenwechsel setzen, also
ID Name Gruppe
001 Butter 1
002 Butter 1
003 Honig 2
004 Honig 2
005 Erdbeeren 3
006 Butter 4
007 Butter 4
008 Honig 5
Dann ergäbe sich
Butter 1
Honig 2
Erdbeeren 3
Butter 4
Honig 5
Und das Ziel wäre erreicht.
Problem:
Wie formuliere ich einen SQL Befehl, welcher dieses Gruppenkennzeichen erzeugt ?? Der also immer dann die Gruppe um
eins erhöht, wenn der Name wechselt ??
Oder wie ginge es noch auf einem ganz anderen Weg ???