如何在PostgreSQL中“循环”日期

时间:2017-07-28 20:41:26

标签: postgresql

假设我在where条件中有一个嵌套查询的查询。

SELECT COUNT(id)
FROM table
WHERE create_date = date_trunc('month', current_timestamp)
and id NOT IN (
              SELECT DISTINCT id 
              FROM some_table 
              WHERE date_trunc('month', current_timestamp)
              )

此查询获取本月的指标。但是,如果我想要所有月份呢?

我尝试了这个查询,虽然它似乎没有运行/需要很长时间:

SELECT date_trunc('month', t.create_date), COUNT(id)
FROM table t
WHERE id NOT IN (
              SELECT DISTINCT id 
              FROM some_table tt
              WHERE date_trunc('month', tt.create_date)= date_trunc('month', t.create_date)
              )
GROUP BY date_trunc('month', t.create_date)

我想通过Postgres CLI(从命令行)执行此命令。

使此查询更有效或符合逻辑的任何指导!

0 个答案:

没有答案