Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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
Sql 记录满足多个条件的用户_Sql - Fatal编程技术网

Sql 记录满足多个条件的用户

Sql 记录满足多个条件的用户,sql,Sql,我有一个用户数据库(由visitorId表示),这些用户属于特定的渠道,并表现出特定的行为,记录在电子商务ActionType字段下 频道 探视者 电子商务类型 社会的 1. 页面视图 社会的 1. 已将添加到购物车中 送交 2. 已将添加到购物车中 送交 2. 购买 社会的 3. 页面视图 社会的 3. 已将添加到购物车中 社会的 3. 购买 直接的 4. 页面视图 直接的 4. 已将添加到购物车中 您可以使用两个级别的聚合: select channel, sum(case w

我有一个用户数据库(由visitorId表示),这些用户属于特定的渠道,并表现出特定的行为,记录在电子商务ActionType字段下

频道 探视者 电子商务类型 社会的 1. 页面视图 社会的 1. 已将添加到购物车中 送交 2. 已将添加到购物车中 送交 2. 购买 社会的 3. 页面视图 社会的 3. 已将添加到购物车中 社会的 3. 购买 直接的 4. 页面视图 直接的 4. 已将添加到购物车中
您可以使用两个级别的聚合:

select channel,
       sum(case when num_added_to_cart > 0 and num_purchased > 0 then 1 else 0 end) as cart_and_purchase
from (select channel, visitorid,
             sum(case when eCommerceActionType = 'added_to_cart' then 1 else 0 end) as num_added_to_cart,
             sum(case when eCommerceActionType = 'purchased' then 1 else 0 end) as num_purchased
      from t
      group by channel, visitorid
     ) t
group by channel;

请告诉我到目前为止你有什么代码?怎么了?您只需要每个用户的条件计数:第一个条件一个,第二个条件一个。然后在
having
子句中,按
>0
进行筛选。如果您需要每个类别的总计数,那么您将对该查询进行另一次计数