【发布时间】:2019-07-15 16:58:38
【问题描述】:
我有一个查询,我正在运行以消除两个学期内的重复项。不幸的是,我必须将 chpid、secno、lname、fname 和 email 结合起来,以使记录具有唯一性以进行比较。
该查询为我要完成的工作提供了一个起点。
SELECT DISTINCT
'1' as Counter
chpid,
SECNO,
LNAME,
FNAME,
EmailAddress
FROM
Eligmember
WHERE
((FORMYEAR = 2018 AND FORMSEMESTER = 4) OR
(FORMYEAR = 2019 AND FORMSEMESTER = 2))
AND presentmem <> 'Y'
返回 58000 条记录
Counter chpid SECNO LNAME FNAME EmailAddress
---------------------------------------------------------------
1 1 2 Banes Moore MMB@test.test
1 1 2 Baron Lana LRB@test.org
这很好,但我想做的是计算每个 chpid 中有多少个。我只需要每个 chpid 中每个人的计数,但我必须选择 chpid、secno、lname、fname 和电子邮件以使它们独一无二。
有什么建议吗?
【问题讨论】:
-
使用
COUNT(*) OVER(PARTITION BY chpid)
标签: sql sql-server tsql