MTavares Postado Novembro 13, 2014 Denunciar Share Postado Novembro 13, 2014 Olá colegas. Tenho uma tabela onde armazeno a data e hora do cadastro onde o campo da data é do tipo datetime no mysql. Porém preciso pegar quantos cadastros tivemos na última hora. Tem como fazer isso direto pelo mysql? Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sandro2011 Postado Novembro 13, 2014 Denunciar Share Postado Novembro 13, 2014 Boa tarde, não testei, mas será que SELECT * FROM TABELA WHERE SUBTIME( NOW(), campo_data_hora)<=1 ; funciona? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MTavares Postado Novembro 13, 2014 Autor Denunciar Share Postado Novembro 13, 2014 Olá Sandro. Não funcionou.... Tentei dessa forma abaixo, porém também não funcionou, veja: SELECT DATE_SUB(DataCadastro, INTERVAL 60 SECOND) FROM bct_dados order by IdCadastro desc; Ele retorna todos os cadastros. Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MTavares Postado Novembro 13, 2014 Autor Denunciar Share Postado Novembro 13, 2014 Com o comando abaixo, consegui filtrar por 1 dia, porém preciso dos últimos 60 minutos, vejam: SELECT DataCadastro FROM bct_dados WHERE datediff(date(now()),DataCadastro) <= 1; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sandro2011 Postado Novembro 13, 2014 Denunciar Share Postado Novembro 13, 2014 SELECT * FROM TABELA WHERE SUBTIME( NOW(), campo_data_hora)<='01:00:00' ; ?? Será que vai? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MTavares Postado Novembro 13, 2014 Autor Denunciar Share Postado Novembro 13, 2014 Oi Sandro. Retornou nulo :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo_2 Postado Novembro 13, 2014 Denunciar Share Postado Novembro 13, 2014 select * from saida where timediff(curtime(), time(dia)) <= 1; http://ftp.nchu.edu.tw/MySQL/doc/refman/4.1/pt/date-and-time-functions.html Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sandro2011 Postado Novembro 14, 2014 Denunciar Share Postado Novembro 14, 2014 Juntando tudo, fiz teste agora: SELECT * FROM tabela WHERE hour(timediff( NOW(), campo_date_time_aqui))=0 Aqui funcionou Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Sandro2011 Postado Novembro 14, 2014 Denunciar Share Postado Novembro 14, 2014 (editado) o anterior funciona para 1 hora antes ou depois.... para somente 1 hora antes, funcionou isso: SELECT * FROM tabela WHERE timediff( NOW(), campo_date_time_aqui)>='00:00:00' and timediff( NOW(), campo_date_time_aqui)<'01:00:00' Se alguém conseguir funcionar com o sinal de '-' (menos) antes da hora (-01:00:00) posta aí que eu também queria saber, pois não consegui... Editado Novembro 14, 2014 por Sandro2011 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MTavares Postado Novembro 24, 2014 Autor Denunciar Share Postado Novembro 24, 2014 Sandro2011 / Marcelo_2. Perdoe-me na demora. Aqui também funcionou perfeitamente. Incluí o count(): SELECT count(*) AS QtdCadastro FROM tabela WHERE hour(timediff( NOW(), campo_date_time_aqui))=0 Dessa forma contabilizo quantos cadastros foram efetuados na última hora. Ficou muito bom. Obrigado pela ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
MTavares
Olá colegas.
Tenho uma tabela onde armazeno a data e hora do cadastro onde o campo da data é do tipo datetime no mysql. Porém preciso pegar quantos cadastros tivemos na última hora.
Tem como fazer isso direto pelo mysql?
Obrigado
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.