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

file que contiene el max de una columna

Estas en el tema de file que contiene el max de una columna en el foro de Mysql en Foros del Web. Hola amigos: Necesito un select que me traiga las filas con el max de un valor, en terminos generales se hace asi select id, f1, ...
  #1 (permalink)  
Antiguo 12/08/2012, 12:59
 
Fecha de Ingreso: febrero-2004
Ubicación: Guatemala
Mensajes: 117
Antigüedad: 20 años, 9 meses
Puntos: 2
file que contiene el max de una columna

Hola amigos:

Necesito un select que me traiga las filas con el max de un valor, en terminos generales se hace asi

select id, f1, f2, max(f3) from tabla group by id

pero no me funciona ya que trae el max para f3 pero los otros valores de campos no corresponden.

Alguna sugerencia?
  #2 (permalink)  
Antiguo 13/08/2012, 04:47
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: file que contiene el max de una columna

No sé si he entendido bien, pero parece que quieres los valores de los campos f1, f2 y el valor del máximo f3 repetido. Puede hacerse, claro, pero antes debes entender un concepto:
el MAX() es un valor de agregado, es decir, el max del campo f3 es un solo valor de entre todos los distintos valores de f3, y por tanto se espararía que devolviera una sola fila y es lo que hace para ese valor, mientras que el nombre f1 y f2 está pidiendo los valores cualesquiera que sean de esos campos y la consulta devuelve una fila por registro. Si quieres eso que pareces pedir, tienes que usar una subconsulta para traerte lo que quieres. Si esto no te da lo que quieres, aclara lo que quieres un poco más.
Código MySQL:
Ver original
  1. SELECT tutabla.f1, tutabla.f2,  t1.maxf3
  2. FROM tutabla
  3.  
  4. SELECT MAX( f3 ) maxf3
  5. FROM tutabla
  6. )t1 ON 1 =1

Última edición por jurena; 16/08/2012 a las 12:18

Etiquetas: columna, file, max, select, tabla, campos
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 08:32.