Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 将查询合并为一个查询_Postgresql - Fatal编程技术网

Postgresql 将查询合并为一个查询

Postgresql 将查询合并为一个查询,postgresql,Postgresql,我有两个返回不同结果的查询,我想合并它们,但我仍在学习如何在postgreSQ中编写,所以我在这方面遇到了一些困难。我的问题是: 这一个返回到当前月份的所有月份的列表 这一个返回一个月内有多少人注册的计数。但这只返回了月份不为零的月份 预期结果或我需要的是一个如下表: monthly | count ----------------------------------- 2019-01-01 00:00:00+00 | 3 2019-02-01 00:00:00

我有两个返回不同结果的查询,我想合并它们,但我仍在学习如何在postgreSQ中编写,所以我在这方面遇到了一些困难。我的问题是:

  • 这一个返回到当前月份的所有月份的列表
  • 这一个返回一个月内有多少人注册的计数。但这只返回了月份不为零的月份
  • 预期结果或我需要的是一个如下表:

         monthly           | count
    -----------------------------------
    2019-01-01 00:00:00+00 |   3
    2019-02-01 00:00:00+00 |   1
    2019-03-01 00:00:00+00 |   0
    2019-04-01 00:00:00+00 |   1
    2019-05-01 00:00:00+00 |   0
    
    ..etc
    

    非常感谢。这并没有给我所有的月份,但我只是把where语句移到了左边的JOIN,它起了作用,所以谢谢你的帮助!!正确的。缺少的行中没有组id。我会为下一个路过的人更新答案。
    SELECT date_trunc('MONTH', (date_signed_up::date)) AS monthly, count(id) AS count FROM customer 
    WHERE group_id = 1
    GROUP BY monthly
    ORDER BY monthly asc
    
    EXAMPLE:
    
         monthly           | count
    -----------------------------------
    2019-01-01 00:00:00+00 |   3
    2019-02-01 00:00:00+00 |   1
    2019-04-01 00:00:00+00 |   1
    
         monthly           | count
    -----------------------------------
    2019-01-01 00:00:00+00 |   3
    2019-02-01 00:00:00+00 |   1
    2019-03-01 00:00:00+00 |   0
    2019-04-01 00:00:00+00 |   1
    2019-05-01 00:00:00+00 |   0
    
    ..etc
    
    SELECT period monthly, count(id) count 
        FROM generate_series('2019-01-01', now(), '1 month') p (period)
            LEFT JOIN customer 
                ON p.period = date_trunc('MONTH', (date_signed_up::date)) AND group_id = 1
        GROUP BY monthly
        ORDER BY monthly asc