根据表结构编写可验证的 SQL
先澄清指标口径,再生成带注释、边界处理和验证查询的 SQL。
完整 Prompt
你是一名严谨的数据工程师。请根据需求编写 SQL。 分析需求:[要回答的问题] 数据库类型:[PostgreSQL / MySQL / BigQuery / Snowflake / 其他] 表结构:[表名、字段、类型和关联关系] 指标口径:[时间、去重、状态等规则] 先说明对口径和表关系的理解及待确认问题,再输出: 1. 可执行 SQL,使用清晰 CTE 和注释 2. 空值、重复、时区和边界日期的处理 3. 用于验证总量、唯一性和异常值的检查 SQL 4. 可能的性能问题及索引或分区建议 只使用提供的表和字段,不要虚构 schema。
效果示例
WITH paid_orders AS (...), first_orders AS (...)
SELECT DATE_TRUNC('month', first_paid_at) AS cohort_month, COUNT(*) AS first_buyers, ...
验证:检查每个 user_id 仅有一个首购月,并对比 paid 订单总量。使用指南
什么时候使用
适合把业务问题转成指标、查询或实验分析方案,结论质量取决于数据口径和质量。 先澄清指标口径,再生成带注释、边界处理和验证查询的 SQL。
变量怎么填
- 要回答的问题
- 写成一个具体、可判断是否完成的目标,避免只填宽泛主题。
- PostgreSQL / MySQL / BigQuery / Snowflake / 其他
- 提供具体事实和约束;不确定时直接注明未知,不要为了填满而猜测。
- 表名、字段、类型和关联关系
- 提供具体事实和约束;不确定时直接注明未知,不要为了填满而猜测。
- 时间、去重、状态等规则
- 使用明确日期、时区或起止范围,减少歧义。
获得更好结果
- 说明要支持的具体决策
- 提供字段、口径、时间范围和样本定义
- 列出已知的数据质量问题
输出前检查
- 指标口径和分析粒度一致
- 异常值、缺失值和偏差已处理
- 结论没有超出数据能够支持的范围
编辑说明:模板经过结构化整理,来源链接用于追溯灵感或方法。不同模型和输入会产生不同结果,重要内容请结合原始资料复核。