我创建了一个数据表。
CREATE DATABASE IF NOT EXISTS mydatabase;
USE mydatabase;
CREATE TABLE crop_yield (
id INT AUTO_INCREMENT PRIMARY KEY,
replicate INT,
variable VARCHAR(15),
yield DECIMAL(5, 2)
);
INSERT INTO crop_yield (replicate, variable, yield) VALUES
(1, 'Control', 116.08),
(2, 'Control', 132.85),
(3, 'Control', 115.98);
INSERT INTO crop_yield (replicate, variable, yield) VALUES
(1, 'Treatment', 131.37),
(2, 'Treatment', 108.89),
(3, 'Treatment', 100.35);
select * from mydatabase.crop_yield;
现在,我想加/减或乘/除产量,但根据不同的变量。
例如,我想在Control中增加20,在Treatment中减少10。所以我使用了下面的代码。
ALTER TABLE mydatabase.crop_yield ADD COLUMN new_yield INT;
UPDATE crop_yield
SET new_yield = CASE
WHEN variable='Control' THEN 20
WHEN variable='Treatment' THEN -10
ELSE 0
END;
然而,它并不起作用。你能告诉我如何根据每个变量计算新的值吗?
1条答案
按热度按时间kgsdhlau1#
你只需要在“然后”部分包括原始收益率.