Fórum Média no Postgre #480867

30/05/2014

0

Amigos, tenho um BD com os atributos ID, Número do carro, Timestamp, Velocidade(relacionada ao timestamp).

Contudo, preciso agrupar as velocidades de um mesmo carro(velocidade média) a cada intervalo de hora... Não sei como fazer isso... Tenho que pegar todos os registros do carro 1 na hora 1 e calcular a média de suas velocidades...Depois todos os registros do carro 1 na hora e calcular a média de suas velocidades...e assim por diante.

Alguém sabe por onde devo começar?

Agradeço desde já a ajuda de todos.
Pedro Silva

Pedro Silva

Responder

Posts

30/05/2014

Alex Lekao

Oi Pedro, boa tarde!!

Eu nao consegui entender muito bem.

Acredito que se vc colocar algum exemplo tabelado possa ajudar a compreencao.

Mas basicamente, vc podera fazer o count e o sum e dividir um pelo outro.

Exemplo:
SELECT
   CARRO,
   SUM(*)/COUNT(*) AS MEDIA
FROM CARROS
WHERE DATEINI BETWEEN '01.05.2014' AND '30.05.2014'
GROUP BY CARRO


Nao conheco bem a estrutura da PostGre, usei basicamente o que faco no SQL Server em algumas coisas que preciso.

Esta bem grosseiro, mas foi so para tentar exemplificar. rsrsr

Espero ter ajudado.

Abraco.

Alex - Lekao
Responder

Gostei + 0

30/05/2014

Pedro Silva

Oi Pedro, boa tarde!!

Eu nao consegui entender muito bem.

Acredito que se vc colocar algum exemplo tabelado possa ajudar a compreencao.

Mas basicamente, vc podera fazer o count e o sum e dividir um pelo outro.

Exemplo:
SELECT
   CARRO,
   SUM(*)/COUNT(*) AS MEDIA
FROM CARROS
WHERE DATEINI BETWEEN '01.05.2014' AND '30.05.2014'
GROUP BY CARRO


Nao conheco bem a estrutura da PostGre, usei basicamente o que faco no SQL Server em algumas coisas que preciso.

Esta bem grosseiro, mas foi so para tentar exemplificar. rsrsr

Espero ter ajudado.

Abraco.

Alex - Lekao




Obrigado Alex pela atenção. Segue um exemplo de tabela para ajudar...
[img:descricao=Tabela]http://arquivo.devmedia.com.br/forum/imagem/372501-20140530-182327.png[/img]

Tenho que calcular a média das velocidades do carro 1, na via 1, na hora1 (intervalo de 60 minutos) e repetir isso para os demais carros, vias e horas.

O grande problema é que não to sabendo como calcular a média das velocidades dos carros com ID 1...depois com ID 2..e assim por diante de forma automática... Seria como fazer um while ou um if...mas em SQL não sei como fazer isso...


Mais uma vez, obrigado.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar