Zähler über gleiche ID

bdoehring

Neuer Benutzer
Beiträge
3
Hallo forum,
ich benötige eine Query, die einen Zähler über eine ID erzeugt . Der Zähler soll bei wechselnder ID
wieder von 1 beginnen:

Ausgangstabelle

ID
1
1
2
2
2
3
4

Ziel nach Abfrage

ID Zähler
1 1
1 2
2 1
2 2
2 3
3 1
4 1

Vielen Dank schon im Voraus
Björn
 
Werbung:
Hallo forum,
ich benötige eine Query, die einen Zähler über eine ID erzeugt . Der Zähler soll bei wechselnder ID
wieder von 1 beginnen:

Ausgangstabelle

ID
1
1
2
2
2
3
4

Ziel nach Abfrage

ID Zähler
1 1
1 2
2 1
2 2
2 3
3 1
4 1

Vielen Dank schon im Voraus
Björn

Trivial:

Code:
test=*# select * from bdoering ;
 id
----
  1
  1
  2
  2
  2
  3
  4
(7 rows)

test=*# select *, row_number() over (partition by id) from bdoering ;
 id | row_number
----+------------
  1 |  1
  1 |  2
  2 |  1
  2 |  2
  2 |  3
  3 |  1
  4 |  1
(7 rows)

Mit einer Einschränkung: MySQL kann das nicht.
 
MySql unterstützt meiner Ansicht nach keine row_number() Funktion und auch kein over (partition by id) .
Das müsste MSSql sein?
 
so gehts aber,

SELECT
a.id,
@nr:=IF(@old_id=a.id,@nr+1, 1) nr,
@old_id:=id not_for_use
FROM a , (SELECT @nr:=0, @old_id:=-1) tmp
ORDER BY a.id;
 
Werbung:
Zurück
Oben