2013-04-03 36 views
1

的可能重复:SQL - Add up all row-values of one column in a singletable添加了所有的值一列

这听起来一个非常简单的问题,但我不能看到找到一个可行的答案。

伊夫在一个表中的列被称为“TIMEID”“通话时间”“保持时间”和“调用次数”

有200分多列在此表中每一个呼叫计数。例如

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

我该如何运行一个查询来计算呼叫计数中的所有值?但没有分组?

由于

+1

那么应该怎么回答看升IKE? – Strawberry

+1

什么是您想要的输出? –

+1

什么版本的SQL Server? – Taryn

回答

2

如果你只想让你可以使用这个所有计数的总和:

SELECT SUM(CallCount) FROM MyTbl; 

如果用其他值所需的总在一起,你可以使用OVER子句:

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

谢谢你的解决方案 –

0
SELECT sum(CallCount) FROM myTable 

假设CallCount是一个数值数据类型。

0
Select [Total call count] = Sum([call count]) From [your table] 
0
SELECT a.*, 
     b.TotalCount 
FROM TableName a 
     CROSS JOIN 
     (
      SELECT SUM(CallCount) TotalCount -- Calculates all CallCount 
      FROM TableName 
     ) b 

输出

╔════════╦══════════╦══════════╦═══════════╦════════════╗ 
║ 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

根据您的SQL Server版本中,你可能能够使用SUM() Over()这是一个窗口函数:

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

SQL Fiddle with Demo