我有这样的数据:
UserId LocationId ProjectId
1 123 1234
1 323 1234
2 213 1234
3 234 1234
1 123 2345
1 323 2345
2 213 2345
3 234 2345
我需要使用列Count
UserId LocationId ProjectId Count
1 123 1234 2
1 323 1234 2
2 213 1234 1
3 234 1234 1
1 123 2345 2
1 323 2345 2
2 213 2345 1
3 234 2345 1
对任何帮助都很高兴)
答案 0 :(得分:2)
这样的事情应该有效:
Select UserId
LocationId
ProjectId,
(Select Count(*) From TableName t2 Where t2.UserId = t1.UserID And t2.ProjectId = t1.ProjectId) As Count
From TableName t1
答案 1 :(得分:0)
在大多数数据库中,您可以使用ANSI标准窗口函数最简洁有效地解决这个问题:
select t.*, count(*) over (partition by projectid, userid) as usercount
from table t;