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

[SOLUCIONADO] Consulta con MAX,MIN,AVG y fechas asociadas a cada uno

Estas en el tema de Consulta con MAX,MIN,AVG y fechas asociadas a cada uno en el foro de Mysql en Foros del Web. Hola, necesito ayuda para hacer una consulta, resulta que tengo una tabla con los campos: id_sensor,temperatura,presion,fecha si quiero saber en el año 2012 (por ejemplo) ...
  #1 (permalink)  
Antiguo 01/03/2013, 08:00
 
Fecha de Ingreso: abril-2010
Mensajes: 26
Antigüedad: 14 años
Puntos: 0
Consulta con MAX,MIN,AVG y fechas asociadas a cada uno

Hola, necesito ayuda para hacer una consulta, resulta que tengo una tabla con los campos: id_sensor,temperatura,presion,fecha

si quiero saber en el año 2012 (por ejemplo) cuales fueron la maxima, minima y promedio de cada campo para un sensor de id=8 hago la siguiente consulta:

Código MySQL:
Ver original
  1. SELECT MAX(temperatura) as max_temp,MIN(temperatura) as min_temp,AVG(temperatura) as avg_temp, MAX(presion) as max_pre,MIN(presion) as min_pre,AVG(presion) as avg_pre
  2. FROM datos
  3. WHERE id_sensor='8' and year(fecha)='2012'
eso funciona bien, pero lo que necesito saber ahora es en que fecha exacta fue la maxima y minima de temperatura y presion, es posible hacer esto en una sola consulta??

Saludos.

Última edición por killemalljustice; 01/03/2013 a las 08:16 Razón: faltaban datos
  #2 (permalink)  
Antiguo 01/03/2013, 08:45
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta con MAX,MIN,AVG y fechas asociadas a cada uno

Tanto los maximos como los minimos puedendarse mas de una vez... luego puedes tener varias fechas para cada uno....

Código MySQL:
Ver original
  1. SELECT fecha,"Máx Temp.",temperatura
  2. FROM datos
  3. WHERE id_sensor='8'
  4. AND YEAR(fecha)='2012'
  5. AND temperatura = (SELECT MAX(temperatura)
  6.     FROM datos
  7.     WHERE id_sensor='8' AND YEAR(fecha)='2012')
  8.  
  9.  
  10. SELECT fecha,"Min Temp.",temperatura
  11. FROM datos
  12. WHERE id_sensor='8'
  13. AND YEAR(fecha)='2012'
  14. AND temperatura = (SELECT MIN(temperatura)
  15.     FROM datos
  16.     WHERE id_sensor='8' AND YEAR(fecha)='2012')
  17.  
  18.  
  19. SELECT fecha,"Máx presion.",presion
  20. FROM datos
  21. WHERE id_sensor='8'
  22. AND YEAR(fecha)='2012'
  23. AND presion= (SELECT MAX(presion)
  24.     FROM datos
  25.     WHERE id_sensor='8' AND YEAR(fecha)='2012')
  26.  
  27.  
  28. SELECT fecha,"Min presion",presion
  29. FROM datos
  30. WHERE id_sensor='8'
  31. AND YEAR(fecha)='2012'
  32. AND presion = (SELECT MIN(presion)
  33.     FROM datos
  34.     WHERE id_sensor='8' AND YEAR(fecha)='2012')

Si presion y temperatura son del mismo tipo de campo funcionará
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 01/03/2013, 09:39
 
Fecha de Ingreso: abril-2010
Mensajes: 26
Antigüedad: 14 años
Puntos: 0
Respuesta: Consulta con MAX,MIN,AVG y fechas asociadas a cada uno

Ok, muchas gracias.

Etiquetas: cada, campos, select, tabla
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 06:22.