select arbetsStation,
sum((select 1
from aTable t1
where t1.arbetsStation = q.arbetsStation
and löpnr =
(select max(löpnr)
from aTable t2
where t1.arbetsStation = t2.arbetsStation
and t2.löpnr < q.löpnr)
and t1.prodInfo <> q.prodinfo))
from aTable as q
group by arbetsStation
Hej!
Jag undrar över om det finns nå't sätt att jämföra poster i en tabell beroende på vilken ordning de kommer?
I mitt fall har jag en tabell som innehåller registrerad produktion där varje rad innehåller information om varje tillverkning. Vad jag är ute efter är hur många omställningar som sker i produktionen. Det framgår av en alfanumerisk kolumn som innehåller resp. produktinfo. När den är annorlunda, skild från, föregående produktinfo har en omställning skett. D.v.s. det är inte antalet olika produktinfo som är intressant, utan i vilken ordning de kommer.
I en annan kolumn finns ett löpnummer som gör varje rad unik samt en annan kolumn som indikerar arbetsstation. Det är antalet omställningar per arbetsstation som är intressant.
Det kan exempelvis se ut så här (förenklat och jag har bara markerat omställningarna för arbetstation A för inte göra det för plottrigt)
Löpnr,Arb.station,Prod.info
1,A,Z
2,A,Z
3,B,X
4,A,Z
5,A,Y <- omställning
6,B,X
7,A,Y
8,A,Z <- omställning
9,B,Z
10,B,Z
11,A,Y <- omställning
Jag vill kunna få ut resultatet:
Omställningar per arbetstation A = 3, B = 1
I verkligheten förekommer fler arbetsstationer och de kan ha fler Prod.Info's. Dessutom finns en kolumn som indikerar tid som jag kan använda för att söka inom ett tidsintervall, men nöten att knäcka är för min del hur jag s.a.s. ska kunna jämföra en post med föregående post (per arb.station)
Mycket tacksam för tips!
Pelle