Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Problema para realizar consulta Intervalos y Fechas

Estas en el tema de Problema para realizar consulta Intervalos y Fechas en el foro de PostgreSQL en Foros del Web. hola amigos espero me puedan ayudar Es posible realizar un consulta por intervalo de horas (2 horas, 8 horas, 12 horas , 24 horas) la ...
  #1 (permalink)  
Antiguo 31/07/2013, 10:32
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Problema para realizar consulta Intervalos y Fechas

hola amigos espero me puedan ayudar

Es posible realizar un consulta por intervalo de horas (2 horas, 8 horas, 12 horas , 24 horas)

la tabla anemometro tiene los siguientes campos

fecha date
hora time without time zone

para las 24 horas me funciona asi

Código SQL:
Ver original
  1. SELECT COUNT(1) FROM anemometro WHERE fecha > now()-'24 hour'::INTERVAL;
  #2 (permalink)  
Antiguo 31/07/2013, 10:37
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: Problema para realizar consulta Intervalos y Fechas

Hola Montes

Ya que la consulta que pones te funciona.. cual sería el problema de cambiar el 24 por 2,8,12 o 24?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 31/07/2013, 10:45
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 6 meses
Puntos: 6
Respuesta: Problema para realizar consulta Intervalos y Fechas

gracias por responder ya lo hice pero devuelve 0 y realmente debe de devolver 120 porque cada minuto llega se inserta un registro

tal vez el problema es porque fecha es un tipo de campo date y hora es time without time zone , lo ideal seria que fuera un solo campo pero el administrador de la base de datos me dice que no puede cambiar la estructura de la tabla para que sea solo un campo time timestamp

con esta consulta me devuele 0
Código SQL:
Ver original
  1. SELECT COUNT(1) FROM anemometro WHERE fecha > now()-'2 hour'::INTERVAL;



podria concatenar y realizar la consulta?
  #4 (permalink)  
Antiguo 31/07/2013, 13:37
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: Problema para realizar consulta Intervalos y Fechas

Código SQL:
Ver original
  1. SELECT COUNT(1) FROM anemometro WHERE TO_TIMESTAMP(TO_CHAR(fecha,'YYYY-MM-DD')||' '||TO_CHAR(hora,'HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') > now()-'2 hour'::INTERVAL;

Aunque el rendimiento de esta consulta no sea muy bueno si se trata de una tabla grande.

Mi primera recomendacion sería crear un campo nuevo a la tabla, unir estos 2 campos en un campo timestamp tal como tu decias.

Pero el rendimiento se lo dejas al DBA por intransigente. :)
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: as, intervalos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:04.