我有一个程序:
ALTER PROCEDURE [dbo].[GetActualFeedbackQueueTree]
@dtNow datetime
as
BEGIN
select
count(f.Id) as [Total],
f.AccountCode,
f.AccountName,
f.Utc,
f2.CityCode,
f2.CityName
from
InnerPortal.Feedback.QueueFeedback f
left join
InnerPortal.Feedback.QueueFeedback f2
on
f2.AccountCode = f.AccountCode
where
(f.Done is null or f.Done = 0) and
(f.Busy is NULL or f.Busy = 0) and
((DATEPART(hour, DATEADD(HOUR, f.Utc, @dtNow)) >= 9 ) and
(DATEPART(hour, DATEADD(HOUR, f.Utc, @dtNow)) <= 20))
group by
f.AccountCode, f2.CityCode,
f2.CityName, f.AccountName, f.Utc
END
我按AccountName
和CityName
对行进行分组。结果我们有像树一样的东西。问题是[Total]
无法正确计算。
然后我得到一个特殊AccountCode的选择,如果少得多,那么得到我作为程序的结果。例如:
select count(f.Id) from Feedback.QueueFeedback f where f.AccountCode = '01507'
返回16行,但过程结果为256。
目标是使用相同的帐户获取已收集行的计数。如何让它正常工作? 感谢。
软件:T-Sql,Ms Sql server 2012
答案 0 :(得分:3)
非常确定你想要
count(distinct(f.Id))