【发布时间】:2019-07-07 04:07:02
【问题描述】:
我想要 MS SQL 数据库中 NAME 的唯一出现次数,但每个用户只能出现一次。以下是我的数据示例。
USERID NAME
------------------------
1 name 1
1 name 1
1 name 1
2 name 1
2 name 2
2 name 3
3 name 1
3 name 1
3 name 3
4 name 1
如果我使用以下查询
SELECT COUNT(name) AS total, name FROM TestTable GROUP BY name
我得到以下结果
7 name 1
1 name 2
2 name 3
但我想要的是下面的结果。查询应忽略来自用户 1 的 2x name 1 和来自用户 3 的 1x name 1。
4 name 1
1 name 2
2 name 3
我没有足够的 SQL 知识来使它工作,或者知道在查询中使用的正确术语。所以可能有重复,如果有,请指出。
【问题讨论】:
-
为什么不应该忽略用户 4 的名字 1
-
所以您想计算每个名称的不同用户 ID?
-
@PanagiotisKanavos, 4 的数量应该通过每个用户只使用一次
name 1来计算,在这个示例数据中有 4 个。
标签: sql sql-server