微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何避免在ClickHouse的另一个聚合函数中使用聚合函数

如何解决如何避免在ClickHouse的另一个聚合函数中使用聚合函数

我希望获得创建用户个人资料ads_clients_data.create_date至发布第一天min(ads_data.time)间的平均天数。

我编写了以下sql语句:

select 
    avg(dateDiff(dd,ads_clients_data.create_date,ads_data.time),min(ads_data.time))
from 
    ads_data
inner join 
    ads_clients_data on ads_clients_data.client_union_id = ads_data.client_union_id;

但是在avg函数中不能使用min。这是我第一次与ClickHouse合作,非常感谢有人能帮助我。

解决方法

如果我正确地遵循了您的规定,则可以使用两种汇总级别:

select avg(datediff(dd,c.create_date,d.min_time)
from (
    select client_union_id,min(ads_data.time) min_time
    from ads_data
    group by client_union_id
) d
inner join ads_clients_data c on c.client_union_id = d.client_union_id;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。