为了更好地了解用户特征和行为,我们需要生成一张全量用户标签表。这张表将包含以下标签:
young_lady
:年龄在25岁以下且为女性的用户。browsed_multiple_products
:浏览了两个或以上商品的用户。bought_multiple_products
:购买了两个或以上商品的用户。
任务
从 tb_pg_act_rcd
和 tb_cst_bas_inf
表中,生成一张全量用户标签表。
结果应包括用户ID、年龄、性别和上述三个标签,并按用户ID排序。
考点
- 条件判断: 使用
CASE
语句生成标签。 - 聚合函数: 使用
COUNT
计算浏览和购买的商品数量。 - 连接操作: 使用
JOIN
连接用户基本信息表和页面埋点记录表。 - 分组: 使用
GROUP BY
按用户ID分组。
tb_pg_act_rcd,页面埋点记录表,已截取某天记录
cust_uid | if_snd(是否曝光) | if_vw(是否浏览) | if_cart(是否加购) | if_buy(是否购买) | prd_id(产品id) |
---|---|---|---|---|---|
3000001 | 1 | 0 | 0 | 0 | A |
3000002 | 1 | 0 | 0 | 0 | C |
3000003 | 1 | 0 | 0 | 0 | B |
3000004 | 1 | 0 | 0 | 0 | E |
3000005 | 1 | 0 | 0 | 0 | D |
tb_cst_bas_inf,用户基本信息表
cust_uid | gdr | age |
---|---|---|
3000100 | M | 39 |
3000101 | F | 39 |
3000102 | M | 19 |
tb_prd_map,产品信息简表
prd_id | prd_nm | price |
---|---|---|
A | 新疆哈密瓜10斤 | 9.80 |
B | 散养土鸡蛋40枚约10斤 | 29.90 |
 成为会员,解锁300道大厂数分SQL真题
MySQL 8.0