sql >> Database >  >> RDS >> Mysql

Is er een enkele query waarmee een volgnummer in meerdere groepen kan worden bijgewerkt?

U kunt een andere variabele gebruiken die de vorige type_id opslaat (@type_id ). De zoekopdracht is gerangschikt op type_id , dus wanneer er een wijziging is in type_id , reeks moet weer op 1 worden gezet.

Set @seq = 0;
Set @type_id = -1;

Update `log`
Set `sequence` = If(@type_id=(@type_id:=`type_id`), (@seq:[email protected]+1), (@seq:=1))
Order By `type_id`, `created_at`;


  1. Redenen om GROUP_CONCAT niet te gebruiken?

  2. Oracle reguliere expressies. Gevaarlijk bereik

  3. SQL Server 2016 Enterprise Edition Prestatievoordelen

  4. Gegevens invoegen in het geneste setmodel (MySQL);