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

BigQuery中如何将查询生成的trip_duration列添加至原表

解决方法(针对BigQuery环境)

你之前的问题在于只做了一半操作:要么只加了空列没填充数据,要么用错了INSERT(INSERT是新增行而非给现有行填充列值)。针对你的需求,提供两种可行方案:

方案一:直接修改原表(两步走)

  1. 先给原表新增空的trip_duration列
ALTER TABLE `coursera-practice-356200.Cyclistic_data.cycledata_202202-202301`
ADD COLUMN trip_duration INT64;

这里选INT64是因为TIMESTAMP_DIFF返回的是整数分钟数,匹配BigQuery的整数类型。

  1. 填充计算好的时长到新列
UPDATE `coursera-practice-356200.Cyclistic_data.cycledata_202202-202301`
SET trip_duration = TIMESTAMP_DIFF(ended_at, started_at, MINUTE);

⚠️ 注意:BigQuery的UPDATE会扫描全表,如果你的数据量很大,要留意执行成本和耗时。

方案二:创建带新列的新表(更安全)

如果不想改动原表数据,推荐直接生成包含trip_duration的新表,避免误操作:

CREATE TABLE `coursera-practice-356200.Cyclistic_data.cycledata_with_duration`
AS
SELECT *,
       TIMESTAMP_DIFF(ended_at, started_at, MINUTE) AS trip_duration
FROM `coursera-practice-356200.Cyclistic_data.cycledata_202202-202301`;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:37:16