我正在尝试通过源报告获得平均卸载日期,我有一个

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/

10-11 17:13