计算重复的列数据

时间:2015-04-15 13:47:06

标签: sql

我有这样的数据:

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

对任何帮助都很高兴)

2 个答案:

答案 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;