在 mysql 中的另一个 table 中将列中的数据作为平均值插入
Insert data from column as average in another table in mysql
我有一个名为 feedback
的 table,其中包含列 mechEmail
(外键)和 rate
。
我有另一个名为 mechanical
的 table,它有列 email
(主键)和 avgrate
.
我想将 feedback
table 的平均汇率插入 mechanical
table,其中 mechEmail
匹配 email
。
这是我使用的代码,但它只选择 - 但不插入:
SELECT
mechanical.email,
COALESCE(AVG(feedback.rate), 0) AS rate
FROM
mechanical
LEFT JOIN
feedback ON feedback.mechEmail = mechanical.email
GROUP BY
mechanical.email;
您似乎不需要 Insert 语句而是 UPDATE 语句,因为您已经有机械式电子邮件 table -
UPDATE mechanical M
JOIN (SELECT mechEmail, AVG(rate) rate
FROM feedback
GROUP BY mechEmail) F ON F.mechEmail = M.email
SET M.avgrate = F.rate;
我有一个名为 feedback
的 table,其中包含列 mechEmail
(外键)和 rate
。
我有另一个名为 mechanical
的 table,它有列 email
(主键)和 avgrate
.
我想将 feedback
table 的平均汇率插入 mechanical
table,其中 mechEmail
匹配 email
。
这是我使用的代码,但它只选择 - 但不插入:
SELECT
mechanical.email,
COALESCE(AVG(feedback.rate), 0) AS rate
FROM
mechanical
LEFT JOIN
feedback ON feedback.mechEmail = mechanical.email
GROUP BY
mechanical.email;
您似乎不需要 Insert 语句而是 UPDATE 语句,因为您已经有机械式电子邮件 table -
UPDATE mechanical M
JOIN (SELECT mechEmail, AVG(rate) rate
FROM feedback
GROUP BY mechEmail) F ON F.mechEmail = M.email
SET M.avgrate = F.rate;