首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MYSQL使用group by结果中的AVG值设置列值

MySQL使用GROUP BY语句对结果进行分组,并且可以使用聚合函数如AVG、SUM、COUNT等对每个分组进行计算。如果想要将AVG值设置为列值,可以使用子查询或者临时表来实现。

方法一:使用子查询

代码语言:txt
复制
SELECT column1, AVG(column2) AS avg_value
FROM table_name
GROUP BY column1;

UPDATE table_name
SET column3 = (
    SELECT avg_value
    FROM (
        SELECT column1, AVG(column2) AS avg_value
        FROM table_name
        GROUP BY column1
    ) AS subquery
    WHERE subquery.column1 = table_name.column1
);

上述代码中,首先使用GROUP BY语句计算出每个column1分组的平均值,并将结果命名为avg_value。然后使用UPDATE语句将avg_value的值更新到column3列中,通过子查询将每个分组的平均值与原表进行关联。

方法二:使用临时表

代码语言:txt
复制
CREATE TEMPORARY TABLE temp_table
SELECT column1, AVG(column2) AS avg_value
FROM table_name
GROUP BY column1;

UPDATE table_name
JOIN temp_table ON table_name.column1 = temp_table.column1
SET table_name.column3 = temp_table.avg_value;

DROP TEMPORARY TABLE temp_table;

上述代码中,首先创建一个临时表temp_table,将每个column1分组的平均值计算出来,并存储在temp_table中。然后使用UPDATE语句将temp_table中的avg_value值更新到原表的column3列中,通过JOIN将两个表进行关联。最后,删除临时表temp_table。

这样就可以将AVG值设置为列值。请注意,以上代码仅为示例,实际使用时需要根据具体的表结构和需求进行调整。

推荐的腾讯云相关产品:腾讯云数据库MySQL、腾讯云云服务器CVM。

腾讯云数据库MySQL产品介绍链接地址:https://cloud.tencent.com/product/cdb 腾讯云云服务器CVM产品介绍链接地址:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分15秒

53-尚硅谷-JDBC核心技术-使用QueryRunner查询表中特殊值的操作

5分15秒

53-尚硅谷-JDBC核心技术-使用QueryRunner查询表中特殊值的操作

13分56秒

102_第九章_状态编程(二)_按键分区状态(二)_ 代码中的使用(一)_基本方式和值状态

2分11秒

2038年MySQL timestamp时间戳溢出

1分23秒

C语言 |求3*4矩阵中最大的元素值及行列

6分33秒

088.sync.Map的比较相关方法

4分40秒

【技术创作101训练营】Excel必学技能-VLOOKUP函数的使用

6分33秒

048.go的空接口

5分40秒

如何使用ArcScript中的格式化器

10分30秒

053.go的error入门

22分1秒

1.7.模平方根之托内利-香克斯算法Tonelli-Shanks二次剩余

6分6秒

普通人如何理解递归算法

领券