簡體   English   中英

MySQL更新表列具有來自同一表的多個值

[英]mysql update table column with multiple values from same table

我有一個帶有列的mysql表:customer,dateOrder。 一位客戶可以在多個日期獲得訂單。 我想為每個客戶添加一個具有最遠日期順序的新列。 到目前為止,我已經嘗試過了:

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

,其中tblTmp是臨時表;問題是它為所有客戶帶來了相同的日期(表中最遠的日期)。 有任何想法嗎?

使用JOIN將原始表與子查詢匹配:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM