计算行数作为查询中的列

Kir*_*ace 2 sql t-sql sql-server

对标题感到抱歉,很难总结我要求的内容.

鉴于这种:

SELECT [FirstName], [LastName], '-', [Thing] FROM.....

John Smith - Plow
James Jones - Plow
James Jones - Shovel
James Jones - Axe
Sarah Lee - Hammer
Sarah Lee - Pliers
Run Code Online (Sandbox Code Playgroud)

我需要得到这个:

John Smith - Plow - 1
James Jones - Plow - 3
James Jones - Shovel - 3
James Jones - Axe - 3
Sarah Lee - Hammer - 2
Sarah Lee - Pliers - 2
Run Code Online (Sandbox Code Playgroud)

我需要在列中包含同一个人出现在行中的总次数.

这听起来像一个枢轴解决方案,但枢轴使我的大脑受伤.还有另外一种方法吗?如果没有,任何人都可以解释这个角度,如果这是它必须要来的?

谢谢!

Qua*_*noi 5

SELECT  *,
        COUNT(*) OVER (PARTITION BY FirstName, LastName) cnt
FROM    mytable
Run Code Online (Sandbox Code Playgroud)