用户行为:用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。 行为类型:点击pv、购买buy、加购cart、fav收藏的数据中使用sql语句查询转化漏斗(点击-收藏的数量关系
时间: 2023-08-09 22:10:00 浏览: 86
用SQL进行用户行为分析(user_info.sql)
假设我们的数据表名为“user_behavior”,可以使用以下的 SQL 语句查询点击-收藏的数量关系:
```sql
SELECT
COUNT(DISTINCT ub1.user_id) AS click_users,
COUNT(DISTINCT ub2.user_id) AS fav_users
FROM
user_behavior ub1
LEFT JOIN user_behavior ub2 ON ub1.user_id = ub2.user_id
AND ub1.item_id = ub2.item_id
AND ub2.behavior_type = 'fav'
WHERE
ub1.behavior_type = 'pv';
```
解释一下这个查询语句:
首先,我们需要对“点击”这个行为类型进行筛选,即 `ub1.behavior_type = 'pv'`。
然后,我们需要找到那些既进行了点击行为,又进行了收藏行为的用户。这里使用了自连接,通过 `LEFT JOIN` 连接同一张表的两个副本,其中一个副本用于筛选点击行为,另一个副本用于筛选收藏行为。连接条件包括用户 ID、商品 ID 和行为类型(收藏行为类型为 'fav')。
最后,通过 `COUNT(DISTINCT ...)` 统计点击和收藏的用户数量,并返回结果。
阅读全文