首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据MYSQL中其他记录的相同列值之和更新列的值?

问如何根据MYSQL中其他记录的相同列值之和更新列的值?
EN

Stack Overflow用户
提问于 2022-04-18 10:21:56
回答 2查看 326关注 0票数 1

如果这是一个基本问题,我很抱歉。

我有一个表结果如下:

​

​

我有这样1000张身份证的记录。

我想用属于同一id和date的“数学”和“物理”标记更新所有输入“all”的记录。

预期结果:

​

​

我正在考虑使用UPDATE子句,但不确定如何逻辑地构造它。

任何帮助都是非常感谢的。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-18 11:20:10

Mysql多表更新手册页- https://dev.mysql.com/doc/refman/8.0/en/update.html

例如

代码语言:javascript
复制
drop table if exists t;

CREATE TABLE T(ID INT,SUBJECT VARCHAR(10), MARK INT);

INSERT INTO T VALUES
(1,'ALL',NULL),(1,'AAA',1),(1,'BBB',2),
(2,'ALL',NULL),(2,'AAA',10),(2,'BBB',20);

UPDATE T 
JOIN
 (SELECT ID,SUM(MARK) MARK FROM T WHERE SUBJECT <> 'ALL' GROUP BY ID) S ON S.ID = T.ID
SET T.MARK = S.MARK
WHERE SUBJECT = 'ALL';
票数 3
EN

Stack Overflow用户

发布于 2022-04-18 10:38:04

请看这个网址:带汇总的mySql。它使用了rollup修饰符,您可以使用该修饰符将和按特定行分组。看看给出的例子,你可以再问一遍。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71910545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档