Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, todo bom?
Galera me ajudem nesta consulta por favor :rolleyes:
Tenho uma tabela onde é registrados alguns eventos de vários equipamentos, As colunas são: id, codigo, nome, evento, data.
Só que alguns equipamentos tem vários eventos com minutos de diferença, então preciso pegar os eventos somente quando esta diferença for maior que 10 minutos.
Se eu tive-se duas colunas de data poderia usar tranquilamente o TIMEDIFF(), só que eu tenho somente uma coluna de data do tipo DATETIME.
Alguém tem alguma dica? Obrigado pela força. :thumbsup:
Opa obrigado pela ajuda amigão, mas assim não vai dar. Sente o drama: :grin:
id - codigo - nome - data
01 - 0101 - equ1 - 2012-10-02 10:02:00
02 - 0101 - equ1 - 2012-10-02 10:04:00
03 - 0101 - equ1 - 2012-10-02 10:07:00
Parece loucura, mas tenho que comparar a hora de cada registro (linha), e se a diferença entre elas for maior que 10 minutos eu pego os registros, se não como esta aqui no exemplo eu pego somente um registro.
Será que da? Obrigado pela força :thumbsup:
Não entedi porque "não vai dar". A função funciona. E você vai saber a diferença de cada linha. Depois basta fazer
outro SELECT para pegar os cujo a diferença é maior igual a 10 minutos. Qual a dificuldade??????
A query abaixo funciona perfeitamente e traz a diferença em minutos. Tudo é uma questão de lógica.
SELECT ROUND(TIME_TO_SEC(TIMEDIFF('2012-06-12 10:53:00','2012-06-11 10:43:00'))/60) AS diff_minutos
Estude a query que você consegue. É só fazer uma query por fora depois e selecionar os caras cujo > 10 ex:
SELECT tb.id FROM (SELECT id, ROUND(TIME_TO_SEC(TIMEDIFF('2012-06-12 10:53:00','2012-06-11 10:43:00'))/60) AS diff_minutos) AS tb WHERE tb.diff_minutos >= 10
Agora só não vai dar pra fazer se você tiver preguiça mesmo :thumbsup:
Utilize a função NOW() como se fosse a segunda coluna de data, afinal você quer a diferença entre a data gravada e a hora atual não? Basta utilizar o timediff() com a sua coluna de data e a função now();
Veja também este tópico http://forum.imasters.com.br/topic/466329-listar-registros-criados-a-mais-de-4-horas/