【发布时间】:2016-10-07 09:08:52
【问题描述】:
我正在制作一个时事通讯工具,其中包含一个存储电子邮件地址的用户和打开的电子邮件 ID 的表格,用于计算每封已发送电子邮件的打开总数和唯一性。
我想显示一个详细的页面,其中包含有关电子邮件地址的用户的不同信息,并计算用户打开电子邮件的次数。
db表示例:
email_id | user_id | user
----------------------------
1 | 1 | alpha@domain.com
1 | 1 | alpha@domain.com
1 | 1 | alpha@domain.com
1 | 2 | beta@domain.com
1 | 3 | gamma@test.org
1 | 4 | mars@planet.net
1 | 4 | mars@planet.net
网页结果:
║ User ║ Times ║
╬═══════════════════╬═══════╣
║ alpha@domain.com ║ 3 ║
║ beta@domain.com ║ 1 ║
║ gamma@test.org ║ 1 ║
║ mars@planet.net ║ 2 ║
我尝试了以下查询,但它仅适用于第一行,然后截断其余部分:
SELECT DISTINCT user, count(DISTINCT user) as counttotal
FROM newsletter_log
where email_id = 1
【问题讨论】:
-
SELECT user, COUNT(*) AS counttotal FROM newsletter_log WHERE email_id = 1 GROUP BY user怎么样? -
您使用的是哪个 DBMS?
-
有效!谢谢 :) @FelixPamittan
-
@Otto,请在下面接受 jarlh 的回答。
-
是的。我得等几分钟;)