sql中的max函数

时间:2013-01-31 08:43:49

标签: mysql max

我有一张桌子:

ID | time
1 | 124124244
2 | 211313112
3 | 131334334  

我希望得到一排max(time) 我试过这样:

select ID,max(time) from T;  

虽然它给出了正确的最大值(时间),但给出的ID总是1.我不能得到整行 我该怎么办?

4 个答案:

答案 0 :(得分:2)

select t.ID, t.time from T
inner join (select MAX(time) maxTime FROM T) a
 ON a.maxTime = t.time;

SqlFiddle,还有xdazz的回答(两者都有效)

答案 1 :(得分:2)

SELECT * FROM T WHERE `time` = (SELECT MAX(`time`) FROM T)

答案 2 :(得分:2)

如果没有两行具有相同的time,或者如果您想要其中一行并且不关心其他行,则可以使用此行:

SELECT    id, time
FROM      T
ORDER BY  time DESC
    LIMIT 1 ;

如果有多个行具有相同的time,@ Raphael的答案将返回所有这些行。

答案 3 :(得分:1)

select id from tbl where time = (select max(time) from tbl)

检查这个小提琴 http://sqlfiddle.com/#!2/77acd/3