2010-11-18 16 views
2

Tout à fait nouveau pour cela mais j'ai créé un script SQL qui regroupe et résume une colonne .. mais dans SQL Management Studio il me montre une grille avec une valeur de colonne mais rien en dessous soit la somme ..SQL Mangement Studio/SQL: Voir les fonctions d'agrégation GroupBy/Sum

dois-je configurer studio de gestion SQL pour me montrer la somme ou quelque chose ..

Voici ma question très facile

SELECT RowNum , 
    ClientName , 
    (SELECT SUM(Amount) AS Expr1 
    ) AS Amount 
    FROM #TempItems 
    GROUP BY RowNum , Amount , ClientName 

J'ai aussi changé pour afficher TextView plutôt que GRIDVIEW mais toujours pas d'espoir.

Il affiche la colonne Montant correctement mais je ne vois pas SUM dessous

Toute aide vraiment apprécié

Répondre

3

Vous n'avez pas besoin subselect:

SELECT 
    RowNum , 
    ClientName , 
    SUM(Amount) AS Amount 
FROM #TempItems 
GROUP BY RowNum, ClientName 
+0

ou, comme Mark a également changé, le 'group by' sur la colonne Montant – Rup

+0

+1 - Aussi OP devrait remarquer que vous avez supprimé' Amount' du groupe par, car c'est une fonction d'agrégat et pas nécessaire dans le regroupement. – JNK

+0

Merci à tous pour vos commentaires, j'ai modifié la requête et cela fonctionne mais je ne peux toujours pas voir le SUM dans SQL Server Management Studio .. Je reçois essentiellement une matrice (lignes et colonnes) mais aucun champ supplémentaire sous Montant pour la somme du montant – Martin

0

Juste arrivé sur ce post ... La réponse est à la question de Martin est - AVEC ROLLUP:

SELECT 
    RowNum , 
    ClientName , 
    SUM(Amount) AS Amount 
FROM #TempItems 
GROUP BY RowNum, ClientName WITH ROLLUP 

Vous obtiendrez des lignes supplémentaires avec NULL dans le groupe par colonne pour les sous-totaux, total.