mysql - select 按日期分组的最新值

mysql - select newest value of groups by date

我有一个 table、member_track,用于跟踪会员对网站的访问。从它的外观来看,它跟踪每个负载。

我需要生成 每个 成员的最新访问的结果集。

这是数据示例:

member_id   last_accessed
    1413        2015-5-26  8:57
    1413        2015-5-26  8:54
    1413        2015-5-26  8:50
    1413        2015-5-26  8:48
    1413        2015-5-26  8:20
    1413        2015-5-26  8:17
    1412        2015-4-30  7:34
    1412        2015-4-30  7:33
    1411        2015-4-18  15:51
    1411        2015-4-18  15:50

输出需要是:

member_id   last_accessed
    1413        2015-5-26  8:57
    1412        2015-4-30  7:34
    1411        2015-4-18  15:51

last_accessed 是一个 datetime 字段)

我用 group by 和 max 尝试了各种方法,但没有任何成功。我该如何处理?

您只需要查询 max(last_accessed) 每个(即分组依据)member_id:

SELECT   member_id, max(last_accessed)
FROM     member_track
GROUP BY member_id

您可以尝试以下查询。

SELECT member_id,last_accessed
  FROM member_track
 WHERE last_accessed in(
     SELECT Max(last_accessed)
       FROM member_track
     GROUP BY member_id)