Lo intenté pero fallé:
mysql> select max(1,0);
ERROR 1064 (42000): tiene un error en su sintaxis SQL; revisa el manual que corresponde a la versión de su servidor MySQL para la sintaxis correcta para usar cerca de '0)' en la línea 1
Utilice GREATEST ()
P.ej:
SELECT GREATEST(2,1);
Nota: Siempre que si algún valor individual contiene nulo en ese momento, esta función siempre devuelve nulo (Gracias al usuario @ sanghavi7)
LEAST
GREATEST
poder obtener valores para una columna determinada?select greatest(date1, ifnull(date2, "0000-00-00 00.00:00")) from table1 where date2 is null;
, conseguirá tu cita 1.GREATEST(COALESCE(column1, 0), COALESCE(column2, 0))
Para obtener el valor máximo de una columna en un conjunto de filas:
Para obtener el valor máximo de un conjunto de columnas, literales o variables para cada fila:
fuente
GREATEST
. Cualquier valor nulo hará que la función devuelva nulo. Para evitar esto, puedes hacerloGREATEST(COALESCE(column1, 0), COALESCE(column2, 0))
Puede usar la función MAYOR con campos no anulables. Si uno de estos valores (o ambos) puede ser NULL, no lo use (el resultado puede ser NULL).
Puede cambiar NULL a su valor predeterminado preferido (si ambos valores son NULL).
fuente
select COALESCE(GREATEST(fieldA, fieldB),fieldA,fieldB) as maxValue
. EsGREATEST(COALESCE(column1, 0), COALESCE(column2, 0))