Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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与mysql左连接_Mysql_Postgresql - Fatal编程技术网

postgresql与mysql左连接

postgresql与mysql左连接,mysql,postgresql,Mysql,Postgresql,我正在PostgreSQL数据库上编写一个查询,不知道如何在连接后对非空值进行计数。在MySQL中,我会写: select count(a.clicker_id), count(b.clicker_id) from (select * from events where type='click') a left join (select * from tbl_events where type='conversion')b on a.clicker_id=b.clicker_id 基本上,

我正在PostgreSQL数据库上编写一个查询,不知道如何在连接后对非空值进行计数。在MySQL中,我会写:

select count(a.clicker_id), count(b.clicker_id) from
(select * from events where type='click') a 
left join (select * from tbl_events where type='conversion')b 
on a.clicker_id=b.clicker_id
基本上,尝试在没有子查询的情况下编写以下内容:

select  date(cl.created_at), count(cl.click_id) as clicks, count(cp.click_id) as Conversions from events_table cl
left outer join (select click_id, created_at from events_table  where type='conversion_potential')cp
on (cl.click_id=cp.click_id)
where cl."type"='click' 
and cl.placement_id in (1,2,3)
group by 1

您不需要自联接:

select
    count(type = 'click' or null) clicks,
    count(type = 'conversion' or null) conversions
from events_table
where campaign_id = 555
这不管用吗:

select count(a.clicker_id), count(b.clicker_id)
    from events_table as a
        left join events_table as b
        on a.clicker_id=b.clicker_id and b.type='conversion'
where a.type='click'
and campaign_id=555

由于您的
b.type=conversion
子句,您实际上在进行内部联接。仔细检查您的MySQL查询是否是您发布的查询。刚刚删除了我的答案,因为答案是错误的。在正确的查询中是否真的有两个表,events和tbl_events?我确实需要一个联接,因为我在where子句中有一些附加内容,例如活动ID下的单击。我只需要属于所选单击的转换,具有相同的点击ID。转换确实是一种类型value@AdrianBR编辑。显示您的完整需求,因为我仍然认为您不需要自联接。我解释错了,在表的第二个实例上设置了一些排除或包括发布者的变量。