Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/08/2011, 07:59
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 2 meses
Puntos: 447
Respuesta: Buscar el titulo del mayor

Hola dorde:

Podrías implementar la función GREATEST que te propone andresdzphp dentro de una sentencia CASE-WHEN o IF, algo como esto:

Código MySQL:
Ver original
  1. mysql> CREATE TABLE tbl_polinizacion (n1 INT, n2 INT, n3 INT);
  2. Query OK, 0 rows affected (0.09 sec)
  3.  
  4. mysql> INSERT INTO tbl_polinizacion VALUES
  5.     -> (1,2,3),(3,3,7),(5,2,1),(6,8,7),(1,1,1);
  6. Query OK, 5 rows affected (0.06 sec)
  7. Records: 5  Duplicates: 0  Warnings: 0
  8.  
  9. mysql> SELECT * FROM tbl_polinizacion;
  10. +------+------+------+
  11. | n1   | n2   | n3   |
  12. +------+------+------+
  13. |    1 |    2 |    3 |
  14. |    3 |    3 |    7 |
  15. |    5 |    2 |    1 |
  16. |    6 |    8 |    7 |
  17. |    1 |    1 |    1 |
  18. +------+------+------+
  19. 5 rows in set (0.00 sec)
  20.  
  21. mysql> SELECT n1, n2, n3,
  22.     -> CASE WHEN GREATEST(n1, n2, n3) = n1 THEN 'n1' ELSE
  23.     -> CASE WHEN GREATEST(n1, n2, n3) = n2 THEN 'n2' ELSE
  24.     -> CASE WHEN GREATEST(n1, n2, n3) = n3 THEN 'n3' END END END mayor
  25.     -> FROM tbl_polinizacion;
  26. +------+------+------+-------+
  27. | n1   | n2   | n3   | mayor |
  28. +------+------+------+-------+
  29. |    1 |    2 |    3 | n3    |
  30. |    3 |    3 |    7 | n3    |
  31. |    5 |    2 |    1 | n1    |
  32. |    6 |    8 |    7 | n2    |
  33. |    1 |    1 |    1 | n1    |
  34. +------+------+------+-------+
  35. 5 rows in set (0.00 sec)

Aquí hay un detalle y es cuando más de una columna tiene el valor mayor (cómo en el último de los casos, donde todos los campos tienen el mismo valor). Siempre te pondrá la primer columna.

Dale un vistazo a ver si es lo que necesitas y nos comentas los resultados.

Saludos
Leo.