Postgresql 选择中的子查询-从外部查询中取消分组列

Postgresql 选择中的子查询-从外部查询中取消分组列,postgresql,Postgresql,我必须计算ARPU收入/用户,但我得到了以下错误: 子查询使用未分组的列用法\外部查询中的记录.date 第7行:在处创建的子查询中,为每行执行的子查询包含group by中提到的nont列,但在聚合中未涉及。。 这会产生错误 但是您也可以使用一个contional来重构您的查询 SELECT date_trunc('day', usage_records.date) AS day, SUM(usage_records.quantity_eur) as Revenue,

我必须计算ARPU收入/用户,但我得到了以下错误:

子查询使用未分组的列用法\外部查询中的记录.date
第7行:在处创建的子查询中,为每行执行的子查询包含group by中提到的nont列,但在聚合中未涉及。。 这会产生错误 但是您也可以使用一个contional来重构您的查询

SELECT 
    date_trunc('day', usage_records.date) AS day,
    SUM(usage_records.quantity_eur) as Revenue,
    sum( case when  created_at <= date_trunc('day', usage_records.date) 
        AND users.id is not null
        then 1 else 0 end ) users_count
    
FROM users 
INNER JOIN ownerships ON (ownerships.user_id = users.id) 
INNER JOIN profiles ON (profiles.id = ownerships.profile_id)
INNER JOIN usage_records ON (usage_records.profile_id = profiles.id)

GROUP BY DAY
ORDER BY DAY asc
SELECT 
    date_trunc('day', usage_records.date) AS day,
    SUM(usage_records.quantity_eur) as Revenue,
    sum( case when  created_at <= date_trunc('day', usage_records.date) 
        AND users.id is not null
        then 1 else 0 end ) users_count
    
FROM users 
INNER JOIN ownerships ON (ownerships.user_id = users.id) 
INNER JOIN profiles ON (profiles.id = ownerships.profile_id)
INNER JOIN usage_records ON (usage_records.profile_id = profiles.id)

GROUP BY DAY
ORDER BY DAY asc