我有如下客户表:
CustomerID, ReferenceID
1 ,101
2 ,101
3 ,101
4 ,102
5 ,102
6 ,103
我要计算有多少个ReferenceID具有多个customerID,并编写以下查询:
SELECT CustomerID, ReferenceID, Count(1)
FROM Customer
group by CustomerID, ReferenceID
having Count(1) >1
我应该得到2,因为2 ReferenceID有多个customerID,但是我没有得到任何数字
DECLARE @ReferenceIdCount INT
SELECT @ReferenceIdCount = COUNT(*)
FROM
(
SELECT
ReferenceId
,COUNT(DISTINCT CustomerId) as ReferenceCount
FROM
@Table
GROUP BY
ReferenceId
HAVING
COUNT(DISTINCT CustomerId) > 1
) t
首先,您必须找到具有多个CustomerId的ReferenceId,然后接下来必须对它们进行计数。因此,您可以通过多种方式执行此操作,但是嵌套选择是一种简单的显示方式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句