mysql 使用来自同一 table 的多个值更新 table 列

mysql update table column with multiple values from same table

我有一个 mysql table 列:客户、日期订单。 一个客户可以有多个日期的订单。我想为每个客户添加一个包含最远日期订单的新列。到目前为止我试过这个:

UPDATE mytable  
   SET MINDATE = (SELECT min(DATEORDER) 
                    FROM (SELECT * 
                            FROM mytable 
                           GROUP 
                              BY CUSTOMER
                          ) tblTmp
                 )

,其中 tblTmp 是临时的 table;问题是它为我的所有客户带来了相同的日期(table 中最远的日期)。有什么想法吗?

使用 JOIN 将原始 table 与子查询相匹配:

UPDATE mytable AS t1
JOIN (SELECT customer, MIN(dateorder) AS mindate
      FROM mytable
      GROUP BY customer) AS t2 ON t1.customer = t2.customer
SET t1.mindate = t2.mindate