Postgresql-获取数据计数差异的查询

Postgresql-获取数据计数差异的查询,postgresql,Postgresql,我有两张桌子,今天的和昨天的。 我需要在今天和昨天相同的时间间隔15分钟比较数据 例如,对于以下数据,我需要检查20201202和20201202的00:00:00和00:15:00。所以差异应该是“3”,因为昨天的表有8条记录,今天的表有5条记录 今天的表格: 昨天的表格: 我试过这样的东西;(现在考虑()是00:15:00) 有没有其他方法可以做到这一点?您可以通过子查询轻松做到这一点: SELECT b.c - a.c FROM (select count(*) as c from

我有两张桌子,今天的和昨天的。 我需要在今天和昨天相同的时间间隔15分钟比较数据

例如,对于以下数据,我需要检查20201202和20201202的00:00:00和00:15:00。所以差异应该是“3”,因为昨天的表有8条记录,今天的表有5条记录

今天的表格:

昨天的表格:

我试过这样的东西;(现在考虑()是00:15:00)


有没有其他方法可以做到这一点?

您可以通过子查询轻松做到这一点:

SELECT b.c - a.c
  FROM (select count(*) as c from yeterdays_table where time between now() - interval '24 hours' and now() - interval '23 hours 45 mins') a, 
(select count(*) as c from todays_table where time = now() - interval '15 minutes') b;

请记住,您需要对间隔单引号,并且表名中不能有引号。

谢谢@richyen,我可以将此查询扩展到两个数据库吗?不,您不能。这是研究生的一个限制。有很多解决方法,即通过使用外部数据包装器(FDW)。看见
SELECT b.c - a.c
  FROM (select count(*) as c from yeterdays_table where time between now() - interval '24 hours' and now() - interval '23 hours 45 mins') a, 
(select count(*) as c from todays_table where time = now() - interval '15 minutes') b;