我有一个查询,提供2个日期之间的年份数,并将其称为Covg作为查询中的标题
select PLANS,DATEDIFF(YEAR, STARTDT, EXPDT) Covg
from PA
这是有用的,并提供类似
的内容Plans Covg
Payback 5
Standard 3
Payback 5
Payback 3
etc.
然而,这是客户的结果。我需要知道有多少客户通过计划获得了1年,2年,3年,4年等的“covg” 当我试图为Covg添加一个Count时,我得到的信息是Covg不是一个列。这是真的,因为它是公式的结果
我该怎么做? 结果应该给我这样的例子
(Yrs) #Of customers with the covg
PLANS Covg TL_Count
Payback 1 123
Payback 2 56
Standard 1 24
Standard 3 48
Standard 5 325
我尝试过的最后一个查询错误是
SELECT PLANS, DATEDIFF(year,STARTDT,EXPDT) COVG, COUNT(*)TL_Count
FROM PA
Group by PLANS, TL_Count
答案 0 :(得分:0)
尝试将GROUP BY
更改为:
SELECT PLANS, DATEDIFF(year,STARTDT,EXPDT) COVG, COUNT(*) TL_Count
FROM PA
GROUP BY PLANS, DATEDIFF(year,STARTDT,EXPDT)
您需要在分组中使用日期函数,而不是COUNT()
,因为它已经是聚合。