Mysql 如何根据另一列的最大日期更新一列
-我正在对表中的一列执行更新。但是,我希望tp仅基于该表中另一列的MAX date对行执行更新。从下面可以看出,每当日期列中的日期为最大值时,通常需要更新类别列 现在,这有点像手工操作,因为我必须像下面的代码中那样明确定义日期。 我想代码是像更新只有当日期是最大的东西 日期格式为YYYY-MM-DDMysql 如何根据另一列的最大日期更新一列,mysql,Mysql,-我正在对表中的一列执行更新。但是,我希望tp仅基于该表中另一列的MAX date对行执行更新。从下面可以看出,每当日期列中的日期为最大值时,通常需要更新类别列 现在,这有点像手工操作,因为我必须像下面的代码中那样明确定义日期。 我想代码是像更新只有当日期是最大的东西 日期格式为YYYY-MM-DD Product Number Date category A 2018-01-01 x B 2019-01-01 y
Product Number Date category
A 2018-01-01 x
B 2019-01-01 y
C 2020-01-01 z
D 2021-01-01
UPDATE SALES_TOTAL LEFT JOIN Masterdata_MAPEBIAS on SALES_TOTAL.`Product Number` = Masterdata_MAPEBIAS.`Item` and Date = '2021/01/01'
SET
SALES_TOTAL.`Category` = Masterdata_MAPEBIAS.Category;
针对获取最大日期的子查询进行联接。我还使用alias使查询更易于阅读
UPDATE sales_total t
LEFT JOIN Masterdata_MAPEBIAS m ON t.`Product Number` = m.item
JOIN (SELECT MAX(date) max_date FROM sales_total) max ON max.max_date = t.sales_date
SET t.category = m.category
我真的想不出你为什么会在一个update@strawberry每个月我都会向这个表中添加新数据,但是有一列,即Category是空的,因为我需要从另一个包含此信息的静态查找表中获取此信息。因此,我需要一个更新和一个左连接来完成这项工作。然后将此表加载到Tableau中。你有别的建议吗?对不起。我无法理解这种逻辑。