Det finns ingen rankningsfunktion i MySQL. Det närmaste du kan komma är att använda en variabel:
SELECT t.*,
@rownum := @rownum + 1 AS rank
FROM YOUR_TABLE t,
(SELECT @rownum := 0) r
så hur skulle det fungera i mitt fall? Jag skulle behöva två variabler, en för vardera av col1 och col2? Col2 skulle behöva återställas på något sätt när col1 ändrades...?
Ja. Om det var Oracle skulle du kunna använda LEAD-funktionen för att nå nästa värde. Tack och lov täcker Quassnoi logiken för vad du behöver att implementera i MySQL .