【发布时间】:2015-08-08 12:15:32
【问题描述】:
我有两个包含链接数据的表。有针对单个客户 (customer_id) 的活动更新。我想返回每位客户最近的活动;
联系;
customer_id(自动增量)
姓
名字
电话工作
活动; activity_id (auto_increment) data_item_id 输入者 创建日期 笔记
我可以返回整个活动集;
SELECT last_name, first_name, date_created, notes, FROM contact JOIN activity ON contact.customer_id=activity.data_item_id;
..但我只想要每个 customer_name 的最新活动。如果我使用唯一的,它似乎返回每个 customer_name 的第一个活动,而不是最近的活动。我敢肯定它非常简单,但我还没有找到它。想法?
【问题讨论】:
-
只是猜测...尝试添加另一列:
SELECT MAX(entered_by date_created), last_name, ...。那应该从第二个表中选择正确的行。 -
谢谢marki,做了更多的工作,看起来当然不错(!)使用max(date_created); SELECT last_name, first_name, max(date_created) AS date, notes, FROM contact JOIN activity ON contact.customer_id=activity.data_item_id ORDER BY customer_id ASC;
-
您需要确认
note列来自同一行(最近的活动) - 这对我来说使用 MAX() 没有 GROUP BY...看起来有点奇怪...
标签: mysql sql-order-by distinct