2013-03-18 47 views
1

我有一個1000行的表。列存在ID,DBID,TalkTime。在合計內SUM()

我做:

SELECT DBID, SUM(TalkTime) 
FROM Incoming_Calls 
GROUP BY DBID 

這其中凝聚到approximely 18行。

我想知道如何計算每個分組中存在的記錄數。因此,例如,DBID 105具有由395個記錄組成的526的總和,在分組期間DBID 104具有使用241個記錄組成的總和124。

任何想法?

使用Microsoft SQL Server 2012

回答

4

然後使用COUNT()

SELECT DBID, 
     COUNT(*) TotalRows, 
     SUM(TalkTime) TotalTalkTime 
FROM Incoming_Calls 
GROUP BY DBID 
0
Select DBID, SUM(TalkTime), COUNT(TalkTime) TalkTimeCount 
FROM Incoming_Calls 
GROUP BY DBID 

,或者,如果您想包括空值數,然後你可以在你這

Select DBID, SUM(TalkTime), @@ROWCOUNT 
FROM Incoming_Calls 
GROUP BY DBID 
+0

只是注意到這個選項將返回那些記錄的TalkTime值爲非空值的計數,並且@ JW's將返回所有記錄的計數,而不管是否存在「TalkTime」的空值。 – 2013-03-18 15:55:58

+0

@安妮:我同意。 – 2013-03-18 16:07:57