我正在尝试通过源报告获得平均卸载日期,我有一个
select i.source,u.avgday from inst i
left join ( select u.app_uid,
case
when timestampdiff(day,i.app_installed_datetime, u.timestamp) > 3
then timestampdiff(day,i.app_installed_datetime, u.timestamp)
else null end as avgday
from uninst u
inner join inst i
on i.app_uid = u.app_uid
) as u
on u.app_uid = i.app_uid
group by i.source
为什么我得到的u.avgday结果在0.1-10范围内?这不是只有AVG存在值,否则是否为Null?
最佳答案
我认为您打算使用AVG()
聚合函数,例如
avg(case
when timestampdiff(day,i.app_installed_datetime, u.timestamp) > 3
then timestampdiff(day,i.app_installed_datetime, u.timestamp)
end) as avgday
关于mysql - 为什么此timestampdiff CASE产生的AVG低于WHEN?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34885422/