列出人员最新更新

时间:2011-12-16 16:57:55

标签: php mysql

查询列出了所有更新。我只想列出最新的更新,而不是每个人都做过的更新

SELECT DISTINCT  updated, name  
    FROM table 
    WHERE updated > '$toDay'  
    GROUP BY updated DESC, name ASC;

这就是现在列出的方式:

15-12-2011 Gary     
10-12-2011 Anna 
09-12-2011 John
08-12-2011 John
07-12-2011 Gary
05-10-2010 Gary

这就是我不会被列出的方式:

15-12-2011 Gary     
10-12-2011 Anna 
09-12-2011 John

5 个答案:

答案 0 :(得分:2)

SELECT MAX(updated) AS MaxUpdate, name
    FROM table
    WHERE updated > '$toDay'
    GROUP BY name
    ORDER BY MaxUpdate DESC, name ASC;

答案 1 :(得分:1)

SELECT  name,   MAX(updated) as last_update, 
FROM table 
WHERE updated > '$toDay'  
GROUP BY name;

答案 2 :(得分:0)

SELECT DISTINCT  MAX(updated), name  
    FROM table 
    WHERE updated > '$toDay'  
    GROUP BY updated DESC, name ASC;

MAX([DISTINCT] expr)

返回expr的最大值。 MAX()可以采用字符串参数;在这种情况下,它返回最大字符串值。

答案 3 :(得分:0)

使用GROUP BY,可能是解决方案!

答案 4 :(得分:0)

您似乎混淆了GROUP BY和ORDER BY语法。

试试这个:

SELECT DISTINCT updated, name 
FROM table 
WHERE updated > '$toDay' 
GROUP BY name 
ORDER BY updated DESC, name ASC;

此外,您还可以查看SQL文章:

GROUPY BY

ORDER BY