2016-08-30 3 views
1

、GROUP BYでユニークな結果を数える:Postgresは私がテーブルを持っている

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 

答えて

1

を使用してみてください。また、おそらくcount(distinct parent_id)も使用したいと考えています:

0

はあなたがgroup by句からparent_idを削除する必要が

SELECT date_trunc('month', create_time),count(distinct parent_id) FROM test GROUP BY 
date_trunc('month', create_time) 
関連する問題