gpt4 book ai didi

MySQL使用从其他列的数据计算出的平均值填充列

转载 作者:行者123 更新时间:2023-11-30 22:24:24 25 4
gpt4 key购买 nike

我有两个表:一个是名称,另一个是通过名称 ID 连接的评级。我想从评级表中的数据中找到评级的平均值,并将该结果填充到 field 表中的相应 field 。我不确定如何进行。关于如何使用 MySQL 执行此操作的任何指示?

最佳答案

这应该可行,但正如其他人所说,从评级表中获取平均值可能是更好的主意,而不是使用触发器更新 field 表。因此,这创建了一个程序来更新 field 的平均评级,该程序从两个触发器调用以插入和更新评级表。

DELIMITER //

CREATE PROCEDURE updateVenueRating(IN venue_id INT)
READS SQL DATA
BEGIN

update venue AS v
SET v.avgrating =
(select avg(rating)
from ratingtable
where ratingtable.venueid = v.id
)
where v.id = venue_id;

END//

CREATE TRIGGER venue_insert_trigger
AFTER INSERT ON ratingtable
FOR EACH ROW
BEGIN
CALL updateVenueRating(NEW.VenueId);
END//

CREATE TRIGGER venue_update_trigger
AFTER UPDATE ON ratingtable
FOR EACH ROW
BEGIN
CALL updateVenueRating(NEW.VenueId);
END//
DELIMITER ;

关于MySQL使用从其他列的数据计算出的平均值填充列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35714208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com