Ir para conteúdo

Arquivado

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

saidmrn

Subtrair Data do MYSQL com a data atual

Recommended Posts

Olá pessoal,tudo bem ?

Eu tenho um Banco de dados aonde tem a coluna "Hora",nela tem uma data no formato (d/m/y h/m/s)

 

Eu queria excluir da tabela se a diferença entre eles for menos de 4 minutos por exemplo.

Por Exemplo:

 

ID| Nome | Hora

0 mario 28/05/15 21:30:00

2 mario 28/05/15 21:32:00

3 mario 28/05/15 21:40:00

 

Então,a tabela ficaria :

 

ID| Nome | Hora

0 mario 28/05/15 21:30:00 -< Esse seria removido,ja que teve diferença de 2 minutos para a mesma pessoa.

2 mario 28/05/15 21:32:00

3 mario 28/05/15 21:40:00

 

Espero que Tenham entendido,obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se usasse campos DATETIME, seria bem simples de fazer, utilizando as Funções de data e hora do MySQL. Em uma única consulta, tudo se resolveria.

 

Do jeito que está sua tabela, terá de analisar com o PHP registro por registro. A classe DateTime pode lhe ser útil.

 

Mas recomendo mudar a estrutura da sua tabela, para usar o tipo de campo adequado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se usasse campos DATETIME, seria bem simples de fazer, utilizando as Funções de data e hora do MySQL. Em uma única consulta, tudo se resolveria.

 

Do jeito que está sua tabela, terá de analisar com o PHP registro por registro. A classe DateTime pode lhe ser útil.

 

Mas recomendo mudar a estrutura da sua tabela, para usar o tipo de campo adequado

 

e se eu adicionasse uma coluna para data,ficando em Hora somente a hora .por exemplo:

 

ID| Nome | Hora | data

0 mario 21:30:00 28/05/15

2 mario 21:32:00 28/05/15

como seria a query para deletar o registro com nome igual e que tenha diferença de 4 minutos por exemplo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sidmrn !!!

o que o Beraldo quis dizer é que será melhor você criar um campo tipo datetime na sua tabela, ao invés de ter campos separados para data e hora, pois, o próprio mysql possui funções de cálculos de data/hora...eu mesmo já tentei trabalhar com campos data e hora separados e me ferrei... fiquei sofrendo atoa !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sidmrn !!!

 

o que o Beraldo quis dizer é que será melhor você criar um campo tipo datetime na sua tabela, ao invés de ter campos separados para data e hora, pois, o próprio mysql possui funções de cálculos de data/hora...eu mesmo já tentei trabalhar com campos data e hora separados e me ferrei... fiquei sofrendo atoa !!!

Olá,obrigado pela atenção.

Ja Criei um campo para armazenar,porém como ver se o horário deste campo tem diferença de 5 minutos para a hora atual ?

estou usando a query :

"delete t1 
from tabela t1 
inner join (
   select nome, count(nome)
   from tabela
   group by nome
   having (count(nome) >= 2) 
) as x
on x.nome = t1.nome
where date_add(t1.hora,interval 5 minute) > now()";

quando ele encontra registros com menos de 5 minutos,ele exclui,como eu quero.porém quando ele não encontra,ele pega os outros horários e poi no mesmo horário atual,como resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe a demora !!

 

pelo que entendi, vc quer excluir os registros com horários 5 minutos diferentes do horário atual... e isso vc já conseguiu fazer, correto ??

e agora vc quer atualizar o que restou com o horário atual, é isso ???

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.