【发布时间】:2021-08-15 18:09:03
【问题描述】:
我正在尝试创建一个新列,其结果是添加了其他三个已创建的列。我希望 TotalActiveMinutes 列等于表中每一行的 VeryActiveMinutes、FairlyActiveMinutes、LightlyActiveMinutes 和 SedentaryActiveMinutes 列的总和。我已经创建了该列,但不知道如何将 SELECT 查询的结果输入到 TotalActiveMinutes 列中。
ALTER TABLE all_activity
ADD COLUMN TotalActiveMinutes INT;
SELECT (VeryActiveMinutes + FairlyActiveMinutes + LightlyActiveMinutes + SedentaryMinutes) AS TotalMinutes
FROM all_activity;
我已经尝试了下面的代码,它运行没有错误,但没有任何结果。例如,从 TotalActiveMinutes 列中选择 * 后,每个空格仍然表示“null”。
INSERT INTO all_activity(TotalActiveMinutes)
SELECT (VeryActiveMinutes + FairlyActiveMinutes + LightlyActiveMinutes + SedentaryMinutes)
FROM all_activity;
SELECT TotalActiveMinutes FROM all_activity;
【问题讨论】:
-
我认为你需要一个更新语句而不是插入。
-
非常感谢,@ReinisVerbelis!我是 SQL 新手,正在努力学习。我刚试过,它奏效了:UPDATE all_activity SET TotalActiveMinutes = (VeryActiveMinutes + FairlyActiveMinutes + LightlyActiveMinutes + SedentaryMinutes);
-
insert 添加行;要更改列,请使用 update
标签: mysql sql calculated-columns