Zeilennummer in einer MySQL Abfrage ausgeben: Unterschied zwischen den Versionen

Aus ITwiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Problem == Es gibt bei MySQL keinen Befehlt um eine fortlaufende Zeilennummer auszugeben. == Lösung == Eine Zeilennummer kann mit Hilfe einer Variable e…“)
 
 
Zeile 7: Zeile 7:
 
Eine Zeilennummer kann mit Hilfe einer Variable erzeugt werden:
 
Eine Zeilennummer kann mit Hilfe einer Variable erzeugt werden:
  
<code source="sql">
+
<source lang="sql">
 
SELECT feld1, feld2, @num := @num + 1 AS position
 
SELECT feld1, feld2, @num := @num + 1 AS position
 
FROM tabelle
 
FROM tabelle
 
JOIN (SELECT @num := 0 FROM DUAL) AS n ON 1=1
 
JOIN (SELECT @num := 0 FROM DUAL) AS n ON 1=1
</code>
+
</source>
 +
 
 +
Über den JOIN wird die Variable @num initialisiert und bei jeder Zeilte mit @num := @num + 1 erhöht.
  
 
[[Kategorie:Datenbanken]]
 
[[Kategorie:Datenbanken]]

Aktuelle Version vom 24. Januar 2012, 17:40 Uhr

Problem[Bearbeiten]

Es gibt bei MySQL keinen Befehlt um eine fortlaufende Zeilennummer auszugeben.

Lösung[Bearbeiten]

Eine Zeilennummer kann mit Hilfe einer Variable erzeugt werden:

SELECT feld1, feld2, @num := @num + 1 AS position
FROM tabelle
JOIN (SELECT @num := 0 FROM DUAL) AS n ON 1=1

Über den JOIN wird die Variable @num initialisiert und bei jeder Zeilte mit @num := @num + 1 erhöht.