2010-06-18 50 views
6

所以我想获得最近的日期,最大(asofdate)的行,但我是MySQL文盲,似乎无法得到它。我的头 select * from Reports.InternalLoanExposureFlat其中asofdate = max(asofdate)似乎有意义,但控制台似乎不同意我。SQL Max问题

在此先感谢。

回答

3

尝试:

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

这是发现人(asofdate)的正确方法! – 2010-06-19 18:53:53

+0

如果几行包含'asofdate'等于'MAX(asofdate)'? – zerkms 2010-06-29 14:11:17

+0

然后你会得到他们。 – gkrogers 2010-06-29 16:11:47

0

我与控制台;-)同意。

max函数返回一个组或整个表的最大值。

尝试:

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)的昂贵方法! – 2010-06-19 18:53:06

+0

@弗兰克电脑:他没有说他想得到最大(asofdate),他说要得到最新的日期。 – 2010-06-20 01:04:38

+0

当我读到他的问题时,他明确指出max(asofdate) – 2010-06-20 03:59:03