En utilisant OVER(PARTITION BY ), vous n'aurez pas besoin d'une jointure dans SQL Server
SELECT *, 100*Grade/ SUM(Grade) OVER(PARTITION BY ID) AS Percentage
FROM (
VALUES(1, 10),(1,20), (2, 15), (2,24), (2,16), (3,29)
) your_table (ID, GRADE)
En utilisant OVER(PARTITION BY ), vous n'aurez pas besoin d'une jointure dans SQL Server
SELECT *, 100*Grade/ SUM(Grade) OVER(PARTITION BY ID) AS Percentage
FROM (
VALUES(1, 10),(1,20), (2, 15), (2,24), (2,16), (3,29)
) your_table (ID, GRADE)
MySQL créer une vue, remplacer une vue et supprimer des déclarations de vue avec des exemples
Mythes relatifs aux performances :la troncation ne peut pas être annulée
Choisir un proxy de base de données pour MySQL et MariaDB
Éléments clés à surveiller dans PostgreSQL - Analyse de votre charge de travail