Ir para conteúdo

POWERED BY:

Arquivado

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

mrbomber

Consultar intervalos de datas em uma consulta

Recommended Posts

Pessoal, tenho uma tabela em mysql que me retorna uma query mais ou menos assim:

HORARIO					VELOCIDADE		INI | FIM
2015-06-07 10:20			40
2015-06-07 10:21			45			INICIO EVENTO
2015-06-07 10:22		 	 0
2015-06-07 10:23		 	 0
2015-06-07 10:24		 	 0
2015-06-07 10:25			10
2015-06-07 10:26			25
2015-06-07 10:27		 	 0
2015-06-07 10:57		 	 0
2015-06-07 10:58			45			FIM EVENTO
2015-06-07 10:59			45
2015-06-07 11:01			 0			INICIO EVENTO
2015-06-07 11:02			42
2015-06-07 11:03			55
2015-06-07 11:04			45			FIM EVENTO 

dentro dessa consulta, tenho q obter quantos minutos ficou com velocidade "0" em cada bloco de velocidade zerada, e quanto tempo demorou o fim do evento ao inicio do evento de novo.

 

exemplo de saida que preciso:

TEMPO PARADO:
03 MIN
01 MIN
31 MIN

TEMPO DE EVENTO:
39 MIN

INTERVALOS ENTRE FIM E INICIO DE EVENTO:
1 MIN

Ja tentei um monte de coisa, e até agora nada... alguém pra dar uma força?

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/topic/379809-soma-linhas-php-mysql/

 

http://php.net/manual/pt_BR/pdostatement.fetch.php

 

 

Eu faria isto por Cursor , comparando o registro corrente contra o antigo (guardando em memória) e totalizando os valores de saída.

Não me pergunte detalhes da síntaxe pois não conheço php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/topic/379809-soma-linhas-php-mysql/

 

http://php.net/manual/pt_BR/pdostatement.fetch.php

 

 

Eu faria isto por Cursor , comparando o registro corrente contra o antigo (guardando em memória) e totalizando os valores de saída.

Não me pergunte detalhes da síntaxe pois não conheço php.

 

Nesse caso eu vou ter o valor da soma geral, e preciso da soma dos intervalos e da soma geral desses intervalos

 

 

Você vai usar PHP ou MySQL pra resolver? se for PHP é facil, se for em MySQL nem sei pra onde ir

 

@ExtremsX, vou usar PHP e MYSQL.

Já estou cogitando usar uma trigger pra gerar outra tabela...

 

Mas será que há outra solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendi muito bem o "INTERVALOS ENTRE FIM E INICIO DE EVENTO", mas veja se ajuda:

http://pastebin.com/sSfuDj85

 

Esse código mesmo, @ExtremsX.

Nesse código consigo colocar a data de cada linha de saida?

 

ex:

DATA1 -> TEMPO PARADO 1

DATA1 -> TEMPO PARADO 2

DATA3 -> TEMPO PARADO 1

 

Essa tabela que estou fazendo é bem grandinha, cerca de 60 colunas, e por dia, terá em media 1 milhao de inserts por dia.

Pra efeito de load no servidor, compensaria fazer uma trigger ou nao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q para gerar as informações a partir de 1kk de linhas é perda de tempo, no caso acho melhor é vc criar um tabela auxiliar para consulta onde os resultados serão guardados já ordenados e tratados, exemplo:

tabela: evento_estatisticas
evento_id | duracao

tabela: evento_estatisticas_paradas
evento_id | parada_id | duracao

 

Ai com os dados tratados já armazenados, você só ia precisar fazer o SELECT e os dados já viriam prontos para exibição

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.