如果您仍然缺少数据,我会尝试以下操作......我的预查询正在获取每封电子邮件的最新日期。然后,加入测试表以获取每封电子邮件的日期仅“第一条记录”的详细信息......然后通过电子邮件加入所有其他记录并获取组 concat。
select
FirstRec.Email,
FirstRec.Date,
FirstRec.Column_C,
FirstRec.Column_D,
FirstRec.Column_E,
GROUP_CONCAT( BySameEmail.Column_F SEPARATOR ' ' ) as Column_F
from
( select
email, max( date ) Newest
from
test_Table
group by
email ) PQ
JOIN Test_Table FirstRec
on PQ.EMail = FirstRec.EMail
AND PQ.Newest = FirstRec.Date
JOIN Test_Table BySameEMail
on PQ.EMail = BySameEMail.EMail
group by
FirstRec.EMail
我从 Dave 的答案发布提供的 SQL Fiddle 示例数据中收到了所有 3 封电子邮件。