Meine Originaldaten lauten wie folgt:
sid id amount 1 12 30 2 45 30 3 45 50 4 78 80 5 78 70
Die gewünschte Ausgabe ist wie folgt:
sid id amount 1 12 30 2 45 30 3 45 30 4 78 80 5 78 80
Der Zweck besteht darin, den Betrag abzurufen, wenn die ID zum ersten Mal angezeigt wird, und den Betrag zu aktualisieren, wenn sie zum zweiten Mal angezeigt wird Ich versuche den folgenden Code:
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
的行: