Sql server 2012 SQL消除重复项和集合中的最大日期

Sql server 2012 SQL消除重复项和集合中的最大日期,sql-server-2012,Sql Server 2012,我要求向我们的营销团队提供一份独特的电子邮件地址列表。我可以毫无疑问地列出清单。他们现在想添加使用该电子邮件地址的最新日期。电子邮件地址的信息位于名为customer的表中,交易日期位于名为activity的表中。这两个表由一个帐号字段连接。 如果我写代码 选择c.email,a.transactiondate 从客户c开始在上加入活动a c、 帐户 其中a.交易日期介于“2016年12月1日”和“2016年12月31日”之间 我的电子邮件有多个交易日期。虽然数量不多,但营销人员不想处理它 将d

我要求向我们的营销团队提供一份独特的电子邮件地址列表。我可以毫无疑问地列出清单。他们现在想添加使用该电子邮件地址的最新日期。电子邮件地址的信息位于名为customer的表中,交易日期位于名为activity的表中。这两个表由一个帐号字段连接。 如果我写代码
选择c.email,a.transactiondate
从客户c开始在上加入活动a
c、 帐户
其中a.交易日期介于“2016年12月1日”和“2016年12月31日”之间
我的电子邮件有多个交易日期。虽然数量不多,但营销人员不想处理它

将distinct添加到select确实会减少数量,但只能通过电子邮件和交易日期的组合来减少。我想我真正需要的是不同的电子邮件,然后是该账号的最早日期


非常感谢您的帮助。

您需要通过电子邮件分组并使用聚合功能获取最新日期

select c.email, max(a.transactiondate)
from customer c join activity a on
c.account = a.account
where a.transactiondate between '12/1/2016' and '12/31/2016'
group by c.email