我工作正常的 SQL 查询是
select case month(timestamp_iso(STATUSDATE))
when 1 then 'January'
when 2 then 'February'
when 3 then 'March'
when 4 then 'April'
when 5 then 'May'
when 6 then 'Jun'
when 7 then 'July'
when 8 then 'August'
when 9 then 'September'
when 10 then 'October'
when 11 then 'November'
when 12 then 'December'
end as Month,
count (case when service='ADSL' then 1 end) as ADSL,
AVG (timestampdiff(
4,
char(actualfinish - reportdate))/60.00) as efficiecny
from INCIDENT
where year(STATUSDATE) = year(current_timestamp)
group by month(timestamp_iso(STATUSDATE))
我想获得每个月的 ADSL 服务数量(它是通过第一个 COUNT 完成的)以及没有服务 ADSL 的记录的平均时间差(以小时为单位)。所以我必须在 AVG 函数中排除所有带有服务 ADSL 的记录,但我不能把它放在 where 子句中
where year(STATUSDATE) = year(current_timestamp) and service!='ADSL'
因为我的 COUNT 函数需要有 service='ADSL'
如何解决这个问题?
谢谢