gpt4 book ai didi

mysql - 将值插入表中的新列,根据同一表中的数据计算

转载 作者:行者123 更新时间:2023-11-29 00:52:32 25 4
gpt4 key购买 nike

我代表一个油炸食品问,他想做一个查询,在选择 4 列(COURSE、DISTANCE、GOING 和 CLASS)时计算赢得比赛的平均时间,对这些列进行分组并对这些列进行排序。然后将计算出的平均值插入同一个表中。这可能吗?

他正在尝试使用这种 SQL 语句,这显然不是一个语句,因为我不确定如何将它们组合在一起。

感谢您的帮助!

INSERT 
INTO Table1 (AVGTIMECOLUMN) VALUES (AVERAGE)
SELECT Table1.COLUMN1, Table1.COLUMN2, Table1.COLUMN3, Table1.COLUMN4 Avg(Table1.TIME) AS AVERAGE,
FROM Table1
GROUP BY Table1.COLUMN1, Table1.COLUMN2, Table1.COLUMN3, Table1.COLUMN4
ORDER BY Table1.COLUMN1, Table1.COLUMN2, Table1.COLUMN3, Table1.COLUMN4;

或者我是否需要执行更新查询并仅通过计算设置 AVG_WEIGHT?

最佳答案

如果您确实需要能够执行此操作,那么可以使用 UPDATE 语句(如果我正确理解您的问题)。但更重要的是,在 100 例中有 99 例你根本不应该这样做。

数据库设计的主要规则之一是您不应存储冗余数据。除了占用额外的空间外,它还存在数据不一致的问题。例如,某人返回表并更新派生列所基于的列之一,但不更新派生列。现在错了。在某些情况下,您最终会遇到不知道该相信哪组数据的情况。

如果 MySQL 支持计算列,那么您可以在表中定义一个。否则,您通常应该在运行时计算该值。

有时,出于性能原因,数据库会被非规范化以存储冗余数据。不幸的是,在大多数情况下,开发人员在没有首先确认确实存在无法通过其他方式修复的性能问题的情况下就这样做了。大多数想要使用此模式的开发人员都确信他们的 是他们应该忽略此设计规则的特殊情况。但根据我的经验,在大多数情况下他们是错误的。

关于mysql - 将值插入表中的新列,根据同一表中的数据计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7769063/

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