[英]How to avoid using aggregation function in another aggregation function in 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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.