You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery 数据透视:将任务状态长表转换为宽表

在BigQuery中实现任务状态长表到宽表的透视转换

可以使用BigQuery的PIVOT语法直接完成这个透视转换,针对需求的SQL语句如下:

SELECT *
FROM (
  SELECT id, created_at, status
  FROM `your-project.your-dataset.your-table` -- 替换为你的实际表路径
)
PIVOT (
  MAX(created_at) -- 每个id+status对应唯一时间,用MAX/ANY_VALUE均可
  FOR status IN (
    'task.created' AS `task.created`,
    'task.completed' AS `task.completed`,
    'task.deleted' AS `task.deleted`
  )
)

说明

  • 子查询用于筛选所需字段,若原表有多余字段可在此过滤
  • PIVOT子句中使用聚合函数是BigQuery透视语法的强制要求,由于每个id与status的组合仅对应一条记录,MAX或ANY_VALUE都能得到正确结果
  • FOR status IN (...)部分指定要转为列的状态值,通过AS保持列名与原状态值一致

输入表

idcreated_atstatus
d4e9a2eb-9eb6-483e-8fbb-7268202fc7b32023-05-17T11:18:04.640Ztask.created
d4e9a2eb-9eb6-483e-8fbb-7268202fc7b32023-05-17T11:18:08.480Ztask.completed
d4e9a2eb-9eb6-483e-8fbb-7268202fc7b32023-05-17T11:18:08.480Ztask.deleted

输出表

idtask.createdtask.completedtask.deleted
d4e9a2eb-9eb6-483e-8fbb-7268202fc7b32023-05-17T11:18:04.640Z2023-05-17T11:18:08.480Z2023-05-17T11:18:08.480Z

内容的提问来源于stack exchange,提问作者p.magalhaes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 14:53:22