比方说,我有一个带有以下各列的表:
date | event | user_id | unit_id |cost | ad_id | spend
03-15 | impression | 2353 | 3436 | 0.15 | NULL | NULL
03-15 | impression | 2353 | 3436 | 0.12 | NULL | NULL
03-15 | impression | 1234 | 5678 | 0.10 | NULL | NULL
03-15 | click | 1234 | 5678 | NULL | NULL | NULL
03-15 | create_ad | 1234 | 5678 | NULL | 6789 | 10
我想计算用户创建ID之前平均需要多少印象[[平均]]。在这种特定情况下,用户1234需要两次展示才能创建广告。我不确定我是否可以使用 date
select i.user_id
, i.unit_id
, count(i.event) impressions_n
, count(c.event) as ads_n
from add4ad i
left
join add4ad c
on i.user_id = c.user_id
and i.unit_id = c.unit_id
where i.event in ('impression')
and c.spend <> NULL
group
by i.user_id
, i.unit_id
我已经使用此数据创建了一个SQLFiddle
假设我有一个包含以下各列的表格:日期|事件user_id | unit_id | cost | ad_id |花03-15 |印象| 2353 | 3436 | 0.15 | NULL | NULL 03-15 |印象| ...