Laut dem von Ihnen angegebenen Link sollte es so aussehen:
SELECT a.*,
(
CASE a.field1
WHEN @curType
THEN @curRow := @curRow + 1
ELSE @curRow := 1 AND @curType := a.field1 END
) + 1 AS rank
FROM table_a a,
(SELECT @curRow := 0, @curType := '') r
ORDER BY a.field1, a.field2 desc;
Hier sind 2 Geigen, eine für Oracle und eine für mySql, basierend auf dem Beispiel aus dem Link, den Sie gegeben haben:
- Orakel
- MySQL