2010-06-18 15 views
6

Así que quiero obtener la fila con la fecha más reciente, max (asofdate) pero soy analfabeto de MySQL y parece que no puedo obtenerlo. Es mi cabeza select * from Reports.InternalLoanExposureFlat donde asofdate = max (asofdate) parece tener sentido pero la consola parece estar en desacuerdo conmigo.SQL Max Pregunta

Gracias de antemano.

Respuesta

3

Probar:

SELECT * FROM Reports.InternalLoanExposureFlat 
WHERE asofdate = (SELECT MAX(asofdate) FROM Reports.InternalLoanExposureFlat) 
+1

esta es la forma correcta de encontrar el hombre (asofdate)! –

+0

¿Qué sucede si varias filas contienen 'asofdate' igual a' MAX (asofdate) '? – zerkms

+0

Entonces los obtendrá todos. – gkrogers

0

Estoy de acuerdo con la consola ;-).

La función max devuelve el máximo de un grupo o la tabla completa.

Probar:

SELECT somecolumn, MAX(asofdate) FROM mytable GROUP BY somecolumn 

SELECT MAX(asofdate) FROM mytable 
9

Si no desea que el riesgo de devolver varios resultados, entonces debería usar esto:

SELECT * 
FROM Reports.InternalLoanExposureFlat 
ORDER BY asofdate DESC 
LIMIT 1 
+0

¡qué método tan costoso de descubrir el máximo (asofdate)! –

+0

@Frank Computer: No dijo que quería obtener el máximo (hasta la fecha), dijo que obtuviera la fila con la fecha más reciente. –

+0

cuando leí su pregunta, declaró explícitamente max (asofdate) –