Sql 在postgres中保存计数数据的最佳方法

Sql 在postgres中保存计数数据的最佳方法,sql,postgresql,aggregate,Sql,Postgresql,Aggregate,我需要创建一个以天为单位的统计数据。 例如: select (select count(*) from bananas) as bananas_count, (select count(*) from apples) as apples_count, (select count(*) from bananas where color = 'yellow') as yellow_bananas_count; 显然,我会得到: bananas_count

我需要创建一个以天为单位的统计数据。 例如:

select 
      (select count(*) from bananas) as bananas_count, 
      (select count(*) from apples) as apples_count, 
      (select count(*) from bananas where color = 'yellow') as  yellow_bananas_count;
显然,我会得到:

bananas_count | apples_count     | yellow_bananas_count
--------------+------------------+ ---------------------
           123|              321 |                    15
但我需要把数据按天分组,我们需要知道昨天有多少巴纳拉

我得到的第一个想法是创建aview,但在这种情况下,我将无法按日期进行分割(或者我不知道如何进行分割)


我需要一个性能明智的数据库端实现来完成此任务。

需要表的DDL。类似于?