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

如何在BigQuery SQL中将多日期列转为带序号的多行记录?

解决方案:BigQuery实现日期列转行

针对你需要将first_date和second_date拆分为多行并标记序号的需求,有两种常用的实现方式:

方法一:使用UNION ALL

这种方式逻辑直观,适合仅需拆分少量列的场景:

SELECT id, ga_id, first_date AS dates, 1 AS rang
FROM your_table_name
UNION ALL
SELECT id, ga_id, second_date AS dates, 2 AS rang
FROM your_table_name
ORDER BY id, ga_id, rang;

方法二:使用UNPIVOT操作

BigQuery支持UNPIVOT语法,适合需要拆分多列的场景,代码更简洁:

SELECT id, ga_id, dates, rang
FROM your_table_name
UNPIVOT (
  dates FOR rang IN (
    first_date AS 1,
    second_date AS 2
  )
)
ORDER BY id, ga_id, rang;

说明

  • 替换your_table_name为你的实际表名
  • 两种方法都会输出你需要的结果格式,rang字段分别标记原始日期列的顺序
  • ORDER BY子句用于保证结果按预期排序,可根据需求调整

内容的提问来源于stack exchange,提问作者Mike Silver

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 07:05:01