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

¿podría mejorar esta consulta?

Estas en el tema de ¿podría mejorar esta consulta? en el foro de Oracle en Foros del Web. Hola. Tengo una tabla con algo así (digamos que la columna del número se llama... "kilometros)", entonces la idea es sacar las filas con el ...
  #1 (permalink)  
Antiguo 21/03/2013, 04:04
 
Fecha de Ingreso: abril-2004
Mensajes: 107
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta ¿podría mejorar esta consulta?

Hola.

Tengo una tabla con algo así (digamos que la columna del número se llama... "kilometros)", entonces la idea es sacar las filas con el número máximo de km



nombre1 apellido1 otrocampo1 otronuevocampo1 12
nombre2 apellido2 otrocampo2 otronuevocampo2 9
nombre3 apellido3 otrocampo3 otronuevocampo3 12

Yo lo he hecho así

Código:
SELECT *
FROM MI_TABLA
WHERE kilometros IN 
(SELECT MAX(kilometros)
FROM MI_TABLA;
¿Habría alguna forma más eficiente para no replicar el mismo select, casi igual, dos veces? Gracias : )
  #2 (permalink)  
Antiguo 21/03/2013, 05:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿podría mejorar esta consulta?



Tal vez...
Código SQL:
Ver original
  1. SELECT *
  2. FROM MI_TABLA
  3. HAVING kilometros = MAX(kilometros);

O bien:
Código SQL:
Ver original
  1. SELECT *
  2. FROM MI_TABLA
  3. WHERE ROWNUM = 1
  4. ORDER BY kilometros DESC;
Pero la segunda te dará sólo un registro, mientras que la primera te podría devolver más de uno.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 21/03/2013, 09:16
 
Fecha de Ingreso: abril-2004
Mensajes: 107
Antigüedad: 20 años, 6 meses
Puntos: 0
Respuesta: ¿podría mejorar esta consulta?

Gracias : )

Etiquetas: mejorar, 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 11:26.