【发布时间】:2015-04-27 08:54:33
【问题描述】:
我试图弄清楚如何在最后的查询中添加对电子邮件字段的计数,但我遇到的问题是所需的一些数据是唯一的,即ID, DateTime,但电子邮件不是我想要的数。我只是想不出如何在一个 SQL 行中做到这一点。
例如返回:-
101, bla, prd, test@test.com, alfred, comp, test, 2015-10-10 10:10:10, 2 <-- count
100, bla, prd, test@test.com, alfred, comp, test, 2015-09-10 10:11:10, 2
099, bla, prd, anoter@email.com, simpson, comp, test, 2014-10-10 10:10:10, 1
098, bla, prd, bla@email.com, henry, comp, test, 2014-05-10 10:10:10, 1
查询
select TOP 200
ID,
FromPage,
Product,
Email,
Name,
Company,
Industry,
DateTime,
(count code here as EmailTotal)
from InstallEmails
WHERE product like 'prd%'
ORDER BY ID DESC
【问题讨论】:
-
您需要使用window function -
COUNT(*) OVER(PARTITION BY Email) -
你使用的是哪个版本的sql server
-
获取关键字“OVER”附近的语法错误。
-
它对我有用,见this example on SQL Fiddle
-
能否请您发布输出
标签: sql-server count group-by unique