Mysql
 sql >> Base de données >  >> RDS >> Mysql

Numérotation automatique et réinitialisation du nombre pour chaque valeur de colonne différente

Pas testé, mais cela devrait faire l'affaire :

SELECT
IF(@prev != a.clientid, @rownum:=1, @rownum:[email protected]+1) as rownumber, @prev:=a.clientid, a.*
FROM (
SELECT 
visitdate, 
clientid 
FROM visit, (SELECT @rownum := 0, @prev:='') sq
ORDER BY clientid,visitdate
) a

Et au fait, il n'y a pas de "fonctionnalité @rownum", c'est juste une "solution" faite maison, @rownum n'est qu'une variable. Vous pourriez tout aussi bien l'appeler @whatever.