Como posso comparar o valor de registros anteriores?
Mesa:
ID SAMPLEDATE LEVEL PASSED
1 1/1/2016 0 1
2 1/2/2016 1 1
3 1/3/2016 2 0
4 1/4/2016 1 1
5 1/5/2016 2 0
O último registro (ordenado por SAMPLEDATE
) é igual LEVEL
ao último registro que falhou? Se sim, retorne TRUE, caso contrário, retorne FALSE.
Então, nos meus dados de exemplo, o último registro que falhou com LEVEL
2. Então o último registro (antes do registro 05/01/2016) que falhou em 03/01/2016 era o mesmo LEVEL, então TRUE seria retornado. Se fosse diferente, seria retornado um NÍVEL FALSO.
Presumi que "falhou" significa
passed = 0
.Há alguns detalhes faltando na pergunta, ou seja, precisamos comparar a última linha (quando ordenada por
sampledate
) com a última linha "com falha" anterior? Se sim, então a seguinte consulta fará:Se, por outro lado, quisermos comparar a última linha "com falha" com a linha "com falha" anterior, poderíamos descomentar a
where failed = 0
linha acima ou usar o menos complicado, basta encontrar as 2 últimas linhas com falha e comparar seus níveis com um simplesgroup by
: