Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ardanuy

Comparar registro com o anterior - MySQL

Recommended Posts

Senhores, boa noite!

 

Estou com uma dúvida e não encontrei resposta de forma tão simples e fácil.

Vejam só, preciso comparar o registro com o seu anterior e com o seu posterior.

 

Os senhores sabem uma forma de fazer isso? Basicamente preciso verificar se o valor de um determinado campo é 0.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a chave da tabela ?

 

Tentou algo como um join com a propria tabela unindo um registro ao seu par menos 1 ?

 

Select *

From tabela t1,tabela t2

Whete t1.id = t2.id-1

 

Mas depende do que seja o "anterior" ...

 

Mas o que o anterior tem a ver com o fato do valor ser 0 ?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mota,

 

Vou tentar explicar melhor o meu problema. A figura abaixo explica melhor:

 

637d.png
Uploaded with ImageShack.us
Eu preciso "detectar" o primeiro "0" na coluna value, pra saber que o host deu problema. Depois, preciso detectar que voltou ao normal (o valor da coluna value não é 0).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem o que deseja, mas seria isso?

 

Select substring(value,charindex('.',value)-1,1),substring(value,charindex('.',value)+1,1)

 

Cara, não executou.

Deu a seguinte mensagem: "FUNCTION zabbix.charindex does not exist"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não executou.

Deu a seguinte mensagem: "FUNCTION zabbix.charindex does not exist"

voce esta utilizando o mysql né?

voce colocou o nome da tabela?

Select substring(value,locate('.',value)-1,1),substring(value,locate('.',value)+1,1) from tabela

 

charindex é no sql server, utilize locate.

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeira parada

 

select *

from tabela t1

where t1.itemid = '27653'

and clock+ms = (select max(clock+ms)

from tabela t2

where t2.itemid = t1.itemid

and t2.value = 0.0000)

and t1.value = 0.0000

 

usando este registro como base ache o menor que não seja 0.0000

mesmo conceito

 

por clock+ms entenda concatenação de string ou tempo total hora + segundos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.