sql >> Database >  >> RDS >> Mysql

Automatische nummering en resettelling voor elke verschillende kolomwaarde

Niet getest, maar dit zou moeten volstaan:

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

En trouwens, er is geen "@rownum-functionaliteit", het is gewoon een zelfgemaakte "oplossing", @rownum is gewoon een variabele. Je zou het net zo goed @whatever kunnen noemen.




  1. Is er een verschil tussen DECIMAAL en NUMERIEK in SQL Server?

  2. Wat is een alternatief voor Find_in_set van mysql in Oracle?

  3. Postgres ENUM-gegevenstype of CHECK CONSTRAINT?

  4. Excel formaat datum voor mysql