Oracle kennt die Pseudo-Kolumne ROWNUM, die die Datensätze einer
Selektion von 1 an aufsteigend durchnummeriert. In MySQL
existiert dieses Konzept nicht, es kann aber mittels einer
Benutzer-definierten Variable simuliert werden.
Implementierung:
| 1 |
SELECT |
| 2 |
@rownum := @rownum + 1 ROWNUM |
| 3 |
, t.* |
| 4 |
FROM |
| 5 |
(SELECT @rownum := 0) r, |
| 6 |
t |
Einschränkung: Die Lösung ist unzureichend, wenn ein ORDER BY
verwendet wird, da die Nummerierung vor der Sortierung
stattfindet.
Unter Oracle wird ROWNUM auch benutzt, um die Ergebnismenge auf
die die ersten n Datensätze zu begrenzen. Dafür hat MySQL ein
besseres Konzept, die SELECT-Klausel LIMIT.