在获取总计唯一记录和按日期分组方面遇到一些麻烦。最终结果是我每天获得总计,但它没有使用基于不同功能的唯一电子邮件。这是我的询问......
SELECT count(distinct(emailaddress)), DATE(EntryDate)
FROM tblentries
group by DATE(EntryDate)
ORDER BY DATE(EntryDate) desc
结果最终不会减少每天的计数。想法?
谢谢!
答案 0 :(得分:2)
根据对话,我相信您所寻找的是每天前所未有的电子邮件地址数量:
SELECT
DATE(t.EntryDate) as RecordDate,
COUNT(DISTINCT t.emailaddress) as NewEmailAddresses
FROM
tblentries t
WHERE
NOT EXISTS(
SELECT 1
FROM tblentries t2
WHERE
t2.emailaddress = t.emailaddress
AND DATE(t2.EntryDate) < DATE(t.EntryDate)
)
GROUP BY
DATE(t.EntryDate)
ORDER BY
DATE(t.EntryDate) ASC;
这不是我的头脑,所以它可能不对,而且会很慢,但我认为这是正确的方向。另外,如果你打算定期运行这个,那么关于emailaddress的索引将是一个好主意。
让我知道这是否有效。