我有这样的疑问:

  SELECT
  Max(l.created) AS created,
  l.unit_id,
  l.activity_id AS Active
  FROM unit_log AS l
  GROUP BY l.unit_id, l.activity_id

我需要而且似乎不能得到的是每个单位id的MAX()行。我需要查询中的单位id,因为我正在加入另一个表。创建的列是时间戳。
每个单位的id将有数百个条目。我只关心每个单位最近的一个。有人能告诉我为什么这不起作用吗?

最佳答案

SELECT l.unit_id, l.created, l.activity_id
FROM unit_log l
JOIN (SELECT unit_id, MAX(created) AS maxc
      FROM unit_log
      GROUP BY unit_id) m
ON l.unit_id = m.unit_id AND l.created = m.maxc

关于mysql - 如何使用分组方式仅获得一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19170889/

10-13 22:23