Ajouter le nombre en tant que colonne de table

J'ai la requête SQL suivante:

SELECT Device, Value FROM tbTest WHERE Class LIKE 'OperatingSystem' AND Type LIKE 'Caption' ORDER BY Device 

Cela résulte dans le tableau suivant:

 Device Value ITADMIN Microsoft Windows Server 2016 Datacenter NB6826 Microsoft Windows 10 Pro TOPDESK Microsoft Windows Server 2008 R2 Standard W1DC1 Microsoft Windows Server 2012 R2 Datacenter W1DC2 Microsoft Windows Server 2012 R2 Datacenter W1SRVSEP Microsoft Windows Server 2008 R2 Standard W2DC1 Microsoft Windows Server 2008 R2 Standard 

Ce que je voudrais faire est de countr toutes les occurrences d'un champ dans une rangée et de l'append à chaque ligne comme une nouvelle colonne. Donc, fondamentalement, j'ai besoin d'une requête qui génère ceci:

 Device Value Count ITADMIN Microsoft Windows Server 2016 Datacenter 1 NB6826 Microsoft Windows 10 Pro 1 TOPDESK Microsoft Windows Server 2008 R2 Standard 3 W1DC1 Microsoft Windows Server 2012 R2 Datacenter 2 W1DC2 Microsoft Windows Server 2012 R2 Datacenter 2 W1SRVSEP Microsoft Windows Server 2008 R2 Standard 3 W2DC1 Microsoft Windows Server 2008 R2 Standard 3 

Y a-t-il un moyen de le faire? Toutes mes tentatives ont abouti à des requêtes impossibles à traiter ou à une sortie inutilisable. Toute aide serait appréciée!

Vous avez besoin d'une fonction de comptage fenêtré qui countra le nombre d'loggings dans la colonne de valeur pour chaque valeur distincte

  SELECT Device, Value, COUNT(value) OVER (PARTITION BY value) FROM tbTest WHERE Class LIKE 'OperatingSystem' AND Type LIKE 'Caption' ORDER BY Device