2017-06-07 72 views
0

我试图按产品类型查找每月新用户的数量。但是,我仍然收到要求在集合函数中使用的错误cntPostgresql - 窗口函数集合

SELECT EXTRACT(MONTH FROM date) AS month 
FROM (SELECT users.date, 
      COUNT(*) OVER(PARTITION BY product_type) AS cnt FROM users) AS u 
GROUP BY month 
ORDER BY cnt DESC; 
+1

编辑您的问题并提供样本数据和所需结果。 –

回答

0

这似乎是一个非常奇怪的构造。以下是不使用窗口功能的方法:

select date_trunc('month', date) as yyyymm, product_id, count(*) 
from (select distinct on (u.userid) u.* 
     from users u 
     order by u.userid, u.date 
    ) u 
group by date_trunc('month', date), product_id 
order by yyyymm, product_id;