Mes données d'origine sont les suivantes :
sid id amount 1 12 30 2 45 30 3 45 50 4 78 80 5 78 70
Le résultat souhaité est le suivant :
sid id amount 1 12 30 2 45 30 3 45 30 4 78 80 5 78 80
Le but est d'obtenir le montant lorsque l'identifiant apparaît pour la première fois et de mettre à jour le montant lorsqu'il apparaît pour la deuxième fois J'essaie le code suivant :
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 ;
Joignez la table à une requête qui renvoie des lignes pour chaque
id
的最小值sid
并再次返回其自身,以便获得具有该最小值sid
: