2013-04-03 5 views
1

double possible de:SQL - Add up all row-values of one column in a singletableAdditionnez toutes les valeurs dans une colonne

Cela peut sembler une question très facile, mais je ne peux pas voir trouver une réponse qui fonctionne.

Ive une colonne dans une table qui est appelée « TimeID » « talktime » « holdtime » et « nombre d'appels »

Il y a plus de 200 lignes dans ce tableau chacun avec un nombre d'appels. Par exemple

TimeId  talktime holdtime CallCount  
1   20   40   3 
2   105   9   6 
3   433   43   12 
4   403   44   15 
5   199   85   22 

Comment puis-je exécuter une requête pour additionner toutes les valeurs du nombre d'appels? mais sans grouper?

Merci

+1

Alors, que si le regard de réponse l Ike? – Strawberry

+1

quelle sera votre sortie désirée? –

+1

quelle version de SQL Server? – Taryn

Répondre

2

Si vous voulez juste pour obtenir la somme de tous les chefs que vous pouvez utiliser ceci:

SELECT SUM(CallCount) FROM MyTbl; 

Si vous voulez le total ainsi que les autres valeurs que vous pouvez utiliser la clause OVER:

SELECT *, SUM(CallCount)OVER() 
FROM MyTbl; 
+0

Merci pour la solution –

0
SELECT sum(CallCount) FROM myTable 

est un CallCount En supposant que le type de données numériques.

0
Select [Total call count] = Sum([call count]) From [your table] 
0

SELECT SUM(CallCount) FROM tblname

+0

Comment est-ce pas une réponse? – brbcoding

0
SELECT a.*, 
     b.TotalCount 
FROM TableName a 
     CROSS JOIN 
     (
      SELECT SUM(CallCount) TotalCount -- Calculates all CallCount 
      FROM TableName 
     ) b 

SORTIE

╔════════╦══════════╦══════════╦═══════════╦════════════╗ 
║ TIMEID ║ TALKTIME ║ HOLDTIME ║ CALLCOUNT ║ TOTALCOUNT ║ 
╠════════╬══════════╬══════════╬═══════════╬════════════╣ 
║  1 ║  20 ║  40 ║   3 ║   58 ║ 
║  2 ║  105 ║  9 ║   6 ║   58 ║ 
║  3 ║  433 ║  43 ║  12 ║   58 ║ 
║  4 ║  403 ║  44 ║  15 ║   58 ║ 
║  5 ║  199 ║  85 ║  22 ║   58 ║ 
╚════════╩══════════╩══════════╩═══════════╩════════════╝ 
0

En fonction de votre version de SQL Server, vous pourriez être en mesure d'utiliser SUM() Over() qui est une fonction de fenêtrage :

select Timeid, 
    talktime, 
    holdtime, 
    callcount, 
    sum(callcount) over() TotalCalls 
from yourtable 

Voir SQL Fiddle with Demo

Questions connexes