SQL MAX()问题

Señ*_*cis 0 sql max

uid     timestamp
1   1242420497
1   1243534661
1   1243534858
1   1243611312
1   1243611511
3   1244817764
3   1244819093
1   1244749446
Run Code Online (Sandbox Code Playgroud)

我有这张桌子,我想抓住时间戳最高的那一行.我试过用

SELECT uid,max(timestamp) FROM `node_revisions` WHERE nid=51
Run Code Online (Sandbox Code Playgroud)

但那又归来了

uid timestamp
1   1244819093
Run Code Online (Sandbox Code Playgroud)

如你所见,它有错误的uid.如何让它从正确的行中抓取uid?谢谢

Eri*_*ric 5

你错过了GROUP BY子句.

SELECT
    uid,
    max(timestamp) as max_time
FROM
    node_revisions
WHERE
    nid = 51
GROUP BY
    uid
ORDER BY 
    max_time DESC 
LIMIT 1
Run Code Online (Sandbox Code Playgroud)


Rya*_*roi 5

SELECT*FROM node_revisionsWHERE nid = 51 ORDER BY timestamp DESC LIMIT 1