我的原始資料如下:
sid id amount 1 12 30 2 45 30 3 45 50 4 78 80 5 78 70
所需的輸出如下:
sid id amount 1 12 30 2 45 30 3 45 30 4 78 80 5 78 80
目的是取得 id 第一次出現的金額並在第二次出現時更新該金額 我正在嘗試以下程式碼:
UPDATE foo AS f1 JOIN ( SELECT cur.sl, cur.id, cur.amount AS balance FROM foo AS cur JOIN foo AS prev ON prev.id = cur.id GROUP BY cur.tstamp ) AS p ON p.id = a.id SET a.amount = p.amount ;
將表連接到一個查詢,該查詢傳回每個
id
的最小值sid
並再次傳回其自身,以便獲得具有該最小值sid
的行: