PostgreSQL - hora y fechas

 
Vista:
sin imagen de perfil

hora y fechas

Publicado por undertaker (13 intervenciones) el 09/09/2014 07:29:36
Nuevamente aca consultando por lo siguiente
si es posible mostrar las cantidades de registros que se dan de acuerdo a un dia y mostrar el intervalo de horas, es decir, si entre la hora 00:00 y la hora 02:00 mostrar la cantidad, si no hay entre las 02:00 y 04:00 mostrar cantidad 0

1
2
3
SELECT count(id) as cantidad, to_char(fecha_registro, 'HH24') as horas
FROM registros WHERE fecha_registro= to_date('2014-02-02', 'YYYY-MM-DD')
GROUP BY horas;

Lo que prentendo es que me muestre asi

CANTIDAD | FECHA

2 | (00-02)
0 | (02-04)
1 | (04-06)
2 | (06-08)

y asi sucesivamente... hasta las 24 horas

Es posible realizar algo asi
o si???
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 39
Ha disminuido 1 puesto en PostgreSQL (en relación al último mes)
Gráfica de PostgreSQL

hora y fechas

Publicado por xve (55 intervenciones) el 10/09/2014 12:00:33
Hola Undertaker, no tengo muy claro que paso cuando las horas no son justas, es decir si hay por ejemplo 43 minutos de diferencia o 90 minutos.

Yo la manera que lo haría, es coger el timestamp de la hora inicial y final, y realizaría la diferencia, lo cual te devolvería los milisegundos de diferencia entre las dos fechas.
Ese valor, lo pasas a segundos, minutos o horas, y tendrás la diferencia.

No se si esta solución te sirve...;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

hora y fechas

Publicado por undertaker (13 intervenciones) el 10/09/2014 20:39:42
OK...pero en el caso que no quiera pasar a traves de intervalos de hora
lo que si quiero que me muestre es cuando no haya nada en esa hora cantidad me muestre 0

CANTIDAD | FECHA

2 | 01
0 | 02
1 | 03
2 | 04
0 | 05
0 | 06
1 | 07
.
.
.

1
SELECT count(id) as cantidad, to_char(fecha_registro, 'HH24') as horas FROM registros WHERE fecha_registro= to_date('2014-02-02', 'YYYY-MM-DD') GROUP BY horas;

con eso solo obtengo cuando hay solamente datos en esa hora
pero si no tengo datos no muestra nada, es decir si tengo 3 registros entre las 02:00:00 y 02:59:59
me muestra solo

CANTIDAD | FECHA
3 | 02

Me gustaria que me muestre todas las horas de 0 a 23 y si no hay datos sea 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar