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

Consulta con Min y Max

Estas en el tema de Consulta con Min y Max en el foro de Bases de Datos General en Foros del Web. Hola! Tengo la siguiente pregunta. Tengo una tabla que tiene los campos Identificador, valor, fecha, hora. Necesito sacar los registros que tengan el valor minimo ...
  #1 (permalink)  
Antiguo 13/05/2003, 12:25
 
Fecha de Ingreso: diciembre-2002
Ubicación: Puebla, Pue. Mex
Mensajes: 54
Antigüedad: 21 años, 4 meses
Puntos: 0
Consulta con Min y Max

Hola!

Tengo la siguiente pregunta. Tengo una tabla que tiene los campos Identificador, valor, fecha, hora. Necesito sacar los registros que tengan el valor minimo en el campo valor. Lo haría de la siguiente forma:

SELECT IDENTIFICADOR, MIN(VALOR) FROM TABLA GROUP BY IDENTIFICADOR

Ahora, si necesitara que me mostrara los campos fecha y hora, tendría que agrparlos

SELECT IDENTIFICADOR, MIN(VALOR),FECHA, HORA FROM TABLA GROUP BY IDENTIFICADOR, FECHA,HORA

Me muestra información como la que sigue:

IDENTIFICADOR VALOR FECHA HORA
Gustavo 5 5/5/03 5:15
Gustavo 6 5/5/03 5:28

Es decir, dice que hay dos mínimos porque como agrupe por fecha hora pues los registros son diferentes. De que otra forma puedo hacerle para que solo me muestre un registro único, osea, el mínimo?

Gracias
__________________
Gustavo
  #2 (permalink)  
Antiguo 13/05/2003, 14:04
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Lo que you hice fue hacer el

SELECT IDENTIFICADOR, MIN(VALOR) FROM TABLA GROUP BY IDENTIFICADOR

y después hacer un INNER JOIN con esa misma TABLA pero agarrando sólo los registros que tiene el SELECT acabas de hacer. Se me hizo mala técnica, pero me funcionó.

Mira, lo que hice fue:

SELECT campo_id, MIN(campo) AS campo_min
INTO tabla_temp
FROM tabla
GROUP BY campo_id

luego para obtener los datos que quieres es:

SELECT t1.campo_id, t1.campo_min, t1.fecha, t1.hora
FROM tabla t1 INNER JOIN tabla_temp t2
ON t1.campo_id = t2.campo_id

Y listo, ya tienes tus resultados, esto es asumiendo que el nombre es el identificador de tu tabla (llave), si no lo es, nadamas incluye en tu tabla temporal la llave completa y en la sentencia ON del INNER JOIN pones el (los) campos llave. Funcionará igual.

saludos
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche

Última edición por Mithrandir; 13/05/2003 a las 14:04
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 13:22.