计数和分组以获得总计

Sky*_*ell 1 sql t-sql sql-server

SELECT 
   *, COUNT(examID) AS ExamCount 
FROM 
   ExamSession
GROUP BY
   [examID], [userID], [sessionID]
Run Code Online (Sandbox Code Playgroud)

这给了我一个结果集,但是ExamCount每行中都有一个'1',即使考试显示在一行以上......我试图得到examID结果集中出现的次数.

所以结果集看起来像这样:

examID | userID | sessionID | ExamCount
---------------------------------------------------------
1111   | xxxxxx | xxxxxx    |   1
1111   | xxxxxx | xxxxxx    |   1
1111   | xxxxxx | xxxxxx    |   1
2222   | xxxxxx | xxxxxx    |   1
2222   | xxxxxx | xxxxxx    |   1
3333   | xxxxxx | xxxxxx    |   1
3333   | xxxxxx | xxxxxx    |   1
3333   | xxxxxx | xxxxxx    |   1
3333   | xxxxxx | xxxxxx    |   1
Run Code Online (Sandbox Code Playgroud)

如何计算examID出现的次数?

谢谢!

Mr.*_*aro 7

码:

COUNT(examID) OVER(PARTITION BY examID) AS ExamCount
Run Code Online (Sandbox Code Playgroud)