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

SELECT MAX() por 2

Estas en el tema de SELECT MAX() por 2 en el foro de Mysql en Foros del Web. Holas nuevamente !!! espero que me puedan dar una mano con la siguiente consulta, quiero obtener el registro que cumpla con el maximo valor de ...
  #1 (permalink)  
Antiguo 21/02/2008, 14:35
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
SELECT MAX() por 2

Holas nuevamente !!! espero que me puedan dar una mano con la siguiente consulta, quiero obtener el registro que cumpla con el maximo valor de un campo y el maximo valor de otro campo, es decir, si fuera en base a un solo campo la consulta seria asi:
Código:
SELECT MAX(columna1) AS c1 FROM tabla
y como seria y con dos campos algo asi ?????:

Código:
SELECT MAX(columna1) as c1, MAX(column2) as c2 FROM tabla
Es un ejemplo pero para que se entienda lo que quiero hacer. Alguien me puede dar una mano, desde ya se agradece. Espero sus comentarios

Saludos
__________________
->Aprender es un proceso que incluye el error..
  #2 (permalink)  
Antiguo 21/02/2008, 19:24
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: SELECT MAX() por 2

Bueno...

Está un poco mal definido lo que buscas.
Si lo que buscas es el máximo de cada columna sin que necesariamente se den en el mismo registro, entonces la consulta que pusiste como ejemplo funciona.

Si lo que quieres es conseguir el registro que maximiza ambas columnas, el problema está en que debes establecer una especie de prioridad o de compensar cuando el máximo se alcanza en uno y no en el otro.

Entonces, por ejemplo puedes hacer:
SELECT campo1, campo2 FROM tabla ORDER BY campo1 DESC, campo2 DESC LIMIT1
Si te parece más importante que campo1 sea máximo, o si lo prefieres al reves invierte el orden de los campos en el order by

y la otra forma es
SELECT campo1, campo2 FROM tabla ORDER BY campo1+campo2 DESC LIMIT1
Te los maximiza a la vez con la misma prioridad.

Espero te sirva
__________________
pragone
Blog: Desarrollo, comunidad y monetización
Últimos artículos: Tips de Smarty
  #3 (permalink)  
Antiguo 22/02/2008, 15:22
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: SELECT MAX() por 2

Hola pragone muchisimas gracias por la explicacion era lo que necesitaba. Gracias .

Saludos
__________________
->Aprender es un proceso que incluye el error..
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:39.