2010-06-18 2 views
6

Так что я хочу получить строку с самой последней датой, max (asofdate), но я MySQL неграмотен и, похоже, не могу ее получить. Это моя голова выберите * from Reports.InternalLoanExposureFlat, где asofdate = max (asofdate), кажется, имеет смысл, но консоль, похоже, не согласна со мной.SQL Max Question

Заранее спасибо.

ответ

3

Try:

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

это правильный способ найти человека (asofdate)! –

+0

Что делать, если несколько строк содержат 'asofdate' равно' MAX (asofdate) '? – zerkms

+0

Тогда вы получите их все. – gkrogers

0

Я согласен с консолью ;-).

Функция max возвращает максимум группы или полной таблицы.

Try:

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

SELECT MAX(asofdate) FROM mytable 
9

Если вы не хотите, риск возвращения несколько результатов, то вы должны использовать это:

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

какой дорогой метод определения максимальной (asofdate)! –

+0

@Frank Computer: Он не сказал, что хочет получить max (asofdate), сказал он, чтобы получить строку с самой последней датой. –

+0

, когда я прочитал его вопрос, он явно заявил max (asofdate) –