mysql从另一个表填充列最大值

标签 mysql sql database

假设我有两个表:

论坛帖子:

id  topicId  text        createTime
====================================
110   7     'blah blah'  111
111   7     'blah blah'  222
112   7     'blah blah'  333
113   9     'blah blah'  444

论坛主题:

id  topicCloseTime
==================
7   ????
8   ????

我想用该主题中所有帖子的 createTime 的最大值来填充 论坛主题 中的 ??????(我的意思是 createStamp 来自论坛帖子,在具有相同topicId 的所有行中,例如 id:7 将是 333)。这怎么可能? tnx

最佳答案

您可以将 UPDATE 与相关子查询一起使用(语法可能是错误的..尝试一下):

UPDATE forumtopic ft 
SET ft.topicCloseTime = (SELECT MAX(fp.createTime) 
                         FROM forumpost fp 
                         WHERE fp.topicId = ft.Id)

关于mysql从另一个表填充列最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58308541/

相关文章:

mysql - 查找受影响的行

mysql - 有可能的键时,为什么 MySQL 不使用键

sql - 尚未为此 DbContext .NET Core 与 SQL Server 配置数据库提供程序

php - Mysql 连接三个表以获取唯一数据列表

MySQL 查询 - 根据前提条件连接不同的表(从不同表检索的值)

sql - 多列的唯一约束是否在每列上创建索引

php - 通过 HTML 链接启动表单来更改 MySQL 数据?

jquery - 按一列无索引或两列其中一列有索引进行搜索

sql - 如何在 Pentaho Report Designer 中使用多个查询?

mysql - 如何将多值属性放在查询的一列中?