¿SQL MAX de varias columnas?

Resuelto BenB asked hace 16 años • 24 respuestas

¿Cómo se devuelve 1 valor por fila del máximo de varias columnas?

Nombre de la tabla

[Number, Date1, Date2, Date3, Cost]

Necesito devolver algo como esto:

[Number, Most_Recent_Date, Cost]

¿Consulta?

BenB avatar Sep 16 '08 17:09 BenB
Aceptado

Aquí hay otra buena solución para la Maxfuncionalidad que usa T-SQL y SQL Server.

SELECT [Other Fields],
  (SELECT Max(v) 
   FROM (VALUES (date1), (date2), (date3),...) AS value(v)) as [MaxDate]
FROM [YourTableName]

Valores es el constructor de valores de tabla .

"Especifica un conjunto de expresiones de valores de fila que se construirán en una tabla. El constructor de valores de tabla de Transact-SQL permite especificar varias filas de datos en una sola instrucción DML. El constructor de valores de tabla se puede especificar como la cláusula VALUES de una INSERT... sentencia VALUES, o como una tabla derivada en la cláusula USING de la sentencia MERGE o en la cláusula FROM".

Sven avatar Jul 29 '2011 10:07 Sven

Si usa SQL Server 2022+ (o MySQL, PostgreSQL, Oracle o BigQuery), puede usar

SELECT GREATEST(col1, col2 ...) FROM table
bajafresh4life avatar Dec 01 '2008 19:12 bajafresh4life