0

我正在尝试返回当存在重复的“user_id 和 action_type”时发生的返回用户计数。

因此,如果您在下面参考,我希望我的输出为 = 2,因为 user_id (5) 有 2 个相似的 action_types (234),而 user_id (6) 也有 2 个相似的 action_types (585)。

如何构建我的查询以反映这一点?

Table t1
User_Id     Action_Type
---------   ------------
5           234
5           846
5           234
6           585
6           585 
7           465
4

3 回答 3

3
SELECT COUNT(DISTINCT User_Id) FROM (
  SELECT   User_Id
  FROM     t1
  GROUP BY User_Id, Action_Type
  HAVING   COUNT(*) > 1
) t
于 2013-10-11T17:38:19.170 回答
0
SELECT COUNT(User_ID) DuplicateRecordsUsers
FROM 
(SELECT User_ID, Action_Type, COUNT(User_ID) Records
FROM     Table    
GROUP BY  User_ID, Action_Type
HAVING COUNT(User_ID) > 1
)
于 2013-10-11T17:43:10.193 回答
0
SELECT COUNT(User_Id) FROM (
  SELECT   User_Id
  FROM     t1
  GROUP BY User_Id, Action_Type
  HAVING   COUNT(*) > 1
) t

DISTINCT不需要只计算返回的 id

于 2013-10-11T21:19:15.400 回答