[英]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.