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

Promedio entre fechas

Estas en el tema de Promedio entre fechas en el foro de PostgreSQL en Foros del Web. hola amigos tengo la siguiente duda como puedo sacar un promedio entre fechas si tengo así la cosa 01:10:2010 12:02:28 05:10:2010 10:04:35 04:10:2010 17:02:03 04:10:2010 ...
  #1 (permalink)  
Antiguo 07/10/2010, 16:32
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años, 8 meses
Puntos: 2
Promedio entre fechas

hola amigos tengo la siguiente duda como puedo sacar un promedio entre fechas
si tengo así la cosa

01:10:2010 12:02:28
05:10:2010 10:04:35
04:10:2010 17:02:03
04:10:2010 17:02:09
04:10:2010 17:26:45
04:10:2010 17:26:32
04:10:2010 17:26:35
05:10:2010 10:04:41
05:10:2010 10:04:46
05:10:2010 10:29:53
05:10:2010 10:04:52
05:10:2010 10:29:32
05:10:2010 10:29:57
05:10:2010 11:08:59
05:10:2010 10:30:06

y quiero sacar un promedio con todos esos datos, agradezco su ayuda
  #2 (permalink)  
Antiguo 08/10/2010, 00:28
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Promedio entre fechas

No entiendo

en el ejemplo que pones, cul seria el promedio para ti?

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 08/10/2010, 06:54
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Promedio entre fechas

Esta es la idea

Código SQL:
Ver original
  1. Fecha_Creacion      Fecha_Finalizacion             Etapas
  2. "2010-09-15 00:00:00";"2010-09-15 00:00:00";   1
  3. "2010-09-02 00:00:00";"2010-09-15 00:00:00";   2
  4. "2010-09-15 00:00:00";"2010-09-15 00:00:00";   3
  5. "2010-09-13 00:00:00";"2010-09-15 00:00:00";   4
  6. "2010-09-02 00:00:00";"2010-09-15 00:00:00";   5
  7. "2010-09-02 00:00:00";"2010-09-15 00:00:00";   6

tiempos promedio de finalización etapas

y tengo los siguientes scripts lo cuales no me han servido

Código SQL:
Ver original
  1. SELECT (fecha_creacion::DATE + fecha_finalizacion::TIME) FROM tareas WHERE fecha_finalizacion IS NOT NULL;
  2. SELECT (fecha_creacion::TIMESTAMP + fecha_finalizacion::TIME) FROM tareas WHERE fecha_finalizacion IS NOT NULL;
  3. SELECT (fecha_creacion::DATE + fecha_finalizacion::DATE) FROM tareas WHERE fecha_finalizacion IS NOT NULL
  4. SELECT (To_date ('2010-10-08 09:47:48', 'YYYY-MM-DD HH24:MI:SS') + To_date ('2010-10-09 09:47:48', 'YYYY-MM-DD HH24:MI:SS'))

y la idea es que al calcular todo me diga que se demoro 6 dias 01:18:00 por ejemplo


o existe alguna manera de aplicar el avg a la fecha_creacion ?? sin que sea solamente el time ???

Última edición por death_nemesis; 08/10/2010 a las 11:12
  #4 (permalink)  
Antiguo 08/10/2010, 12:45
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Promedio entre fechas



death_nemesis te juro que sigo sin entender.

Por que no pones el resultado que esperarías de tu consulta con base en los datos que pones en tu primer post?

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 12/10/2010, 12:39
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Promedio entre fechas

bueno no importa ya lo solucione pero ahora tengo otra duda con respecto a la fecha como puedo mostrar al usuario que la siguiente resta

(2010-10-14 00:00:00) - (2010-10-13 00:00:00) es igual a 24 horas ? y por ejemplo que

(2010-10-14 01:00:00) - (2010-10-13 00:00:00) es igual a 25 horas ?

Última edición por death_nemesis; 12/10/2010 a las 13:42
  #6 (permalink)  
Antiguo 12/10/2010, 13:44
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Promedio entre fechas

Código SQL:
Ver original
  1. postgres=> SELECT EXTRACT(epoch FROM ('2010-10-14 00:00:00'::TIMESTAMP - '2010-10-13 00:00:00'::TIMESTAMP))/60/60 AS tiempo_en_horas;
  2.  tiempo_en_horas
  3. -----------------
  4.               24
  5. (1 fila)

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 12/10/2010, 14:48
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Promedio entre fechas

gracias huesos52 me sirvio tu ayuda pero tengo otra duda ya que el valor que devuelve es un double precision pasarlo a numeric para asi poder aplicar un round ?
  #8 (permalink)  
Antiguo 12/10/2010, 14:53
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Promedio entre fechas

Código SQL:
Ver original
  1. SELECT round(resultado::NUMERIC,2);
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #9 (permalink)  
Antiguo 12/10/2010, 14:56
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Promedio entre fechas

Cita:
Iniciado por huesos52 Ver Mensaje
Código SQL:
Ver original
  1. SELECT round(resultado::NUMERIC,2);
gracias huesos52 la consulta quedo asi

Código SQL:
Ver original
  1. SELECT round(CAST(EXTRACT(epoch FROM (avg(finalizacion::TIMESTAMP - creacion::TIMESTAMP)))/60/60 AS NUMERIC),2) AS tiempo_en_horas FROM tmp;


Gracias por la ayuda
  #10 (permalink)  
Antiguo 13/10/2010, 09:53
Avatar de death_nemesis  
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Promedio entre fechas

Estimado sabes que tengo denuevo el mismo problema que al principio xD

mira tengo estos datos

Código SQL:
Ver original
  1. Fecha Finalizacion               Fecha Creacion             Etapa           IDEtapa
  2. '2010-10-13 12:33:04.358098';'2010-10-13 12:31:51.8709'  ;'Desarme'      ;    1
  3. '2010-10-13 12:32:53.589729';'2010-10-13 12:32:49.975261';'Desarme'      ;    1
  4. '2010-10-13 12:32:59.595379';'2010-10-13 12:31:40.42174' ;'Desarme'      ;    1
  5. '2010-10-13 12:33:16.1406';'2010-10-13 12:33:16.1406'    ;'Desabolladura';    2

y la idea es poder sacar el tiempo promedio de las etapas por ejemplo el tiempo promedo de Desarme y y el tiempo promedio de Desabolladura

Ojala me puedas ayudar con esto

Etiquetas: fechas, promedio
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 01:46.