适用场景
- 数据工程师接到人群分层取数需求要在一小时内交出可跑的查询
- 分析师要用同一套口径复算上月分层结果核对与报表是否一致
- 新人接手人群看板需要一份带注释的分层查询范例
PROMPT
【指令】 1. 核心动作是把80后调研明细按九个人群分层,写成可直接运行的查询语句。 2. 只做查询与口径校验,不修改表结构、不建临时表,也不做任何写入操作。 3. 交付一份SQL文本,粘贴到客户端即可执行并直接返回分层结果。 【上下文】 1. 业务规则是以出生年份在1980至1989之间判定80后,重复记录按用户编号保留最新一条。 2. 范围限定为近十二个月有下单行为的用户,退款订单剔除,测试账号按标记字段排除。 3. 数据库为MySQL 8,涉及用户表、订单表与品类维表,字段命名与注释沿用现有规范。 【输入数据】 1. 用户表users含用户编号、出生年份、城市层级、注册日期、测试账号标记五个字段。 2. 订单表orders含订单编号、用户编号、支付时间、金额、品类编号、退款状态六个字段。 3. 品类维表dim_category含品类编号、品类名称、父级编号三个字段,用于向上归并大类。 4. 现有口径文档写明分层规则:负债率与子女阶段各切三档,交叉后形成九个人群。 【输出要求】 1. 给出完整可运行的SQL,每个公共表表达式加注释说明作用,不使用临时表。 2. 结果字段固定为人群编号、人数、订单数、客单价、人均支出、退款率六列。 3. 附一段校验语句,核对分层总人数与源表80后人数是否一致,并说明差异容忍范围。