对不起标题,很难总结我要的内容。

鉴于这种:
SELECT [FirstName], [LastName], '-', [Thing] FROM.....

John Smith - Plow
James Jones - Plow
James Jones - Shovel
James Jones - Axe
Sarah Lee - Hammer
Sarah Lee - Pliers

我需要得到这个:
John Smith - Plow - 1
James Jones - Plow - 3
James Jones - Shovel - 3
James Jones - Axe - 3
Sarah Lee - Hammer - 2
Sarah Lee - Pliers - 2

我需要将同一个人出现在行中的总次数作为一列。

这听起来像是一个关键的解决方案,但关键使我的大脑受伤。还有另一种方法吗?如果不是,那么有人可以解释这个关键点吗?

谢谢!

最佳答案

SELECT  *,
        COUNT(*) OVER (PARTITION BY FirstName, LastName) cnt
FROM    mytable

关于sql - 将行数计算为查询中的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31059571/

10-12 03:04