2012-11-28 39 views
1

我有一张表,其中包含数千个条目,每个人每天工作一个。其中一列是跟踪当天收到的电话号码。我正在使用以下查询:SQL查询中的数学 - 添加“结果”以显示新的“结果”

SELECT [agtName], [contactPhoneCnt] 
FROM [fnDynamicCSCAgtFctByMth] ('09/24/2012','11/07/2012') 
WHERE acct_mo_n = 'October' 
ORDER BY agtName desc 

这给了我3822个结果。结果1-18对于一个人来说都是一样的(再次,他们每天工作一次)。我想要做的是从'contactPhoneCnt'列添加SQL查询添加结果 1-18 ,并显示单个结果而不是18个单独的结果。不能保证会有18个结果...一个人可能在10月份工作10天而另一个人工作21.我所关心的是所有人在整个月中收到的电话总数(而不是一天每天的个人结果)。

我该如何编写查询,以便从一个人中添加所有条目,并为每个条目返回单个结果,所以我最终得到了168个结果而不是3822?

+2

好像你想'如果你想要更多的帮助GROUP BY' – Patrick

+0

提供表模式。没有这个,我们不能给你一个解决方案的例子。 – StingyJack

回答

1

一个简单GROUP BY应该做的伎俩:

SELECT [agtName] 
,  count(*) 
FROM fnDynamicCSCAgtFctByMth('09/24/2012','11/07/2012') 
WHERE acct_mo_n = 'October' 
group by 
     agtName 
order by 
     agtName desc 
+0

这似乎将他们分组在一起,所以我只看到每个人一个条目,但它没有将'contactPhoneCnt'列的条目加在一起,所以我的结果显示如下: “fName.lName 18”它应该在哪里像“fName.lName 112” –

+0

@Nicolai,这听起来像你想'sum(contactPhoneCnt)'而不是'count(*)'。 –

+0

用'Sum(contactPhoneCnt)'运行这个技巧!谢谢Andomar和Dour! 为了将来的参考,我可以在哪里获得像'Sum(columnName)'这样的数学函数列表? –