我有一张桌子:
id | parent_id | create_time
---|------------|--------------------
1 | 1 | 2016-08-26 00:00:00
2 | 2 | 2016-08-24 00:00:00
3 | 2 | 2016-08-22 00:00:00
4 | 4 | 2016-07-26 00:00:00
5 | 5 | 2016-07-24 00:00:00
我需要为每个月(周,日)计算唯一的'parent_id' 输出如下:
---------------------|----
2016-08-01 00:00:00 | 2
2016-07-01 00:00:00 | 2
但我只能这样做:
SELECT date_trunc('month', create_time),count(parent_id) FROM test GROUP BY
date_trunc('month', create_time),parent_id
结果:
--------------------|---
2016-07-01 00:00:00 | 1
2016-07-01 00:00:00 | 1
2016-08-01 00:00:00 | 1
2016-08-01 00:00:00 | 2
我尝试了很多选择,但没有足够的知识。
答案 0 :(得分:1)
您需要从parent_id
子句中删除group by
。你可能也想使用count(distinct parent_id)
:
SELECT date_trunc('month', create_time),
count(distinct parent_id)
FROM test
GROUP BY date_trunc('month', create_time)
答案 1 :(得分:0)
尝试使用
SELECT date_trunc('month', create_time),count(distinct parent_id) FROM test GROUP BY
date_trunc('month', create_time)