Hallo!
> Wie schon Joachim geschrieben hat, kannst du von ADO
> absolutePosition benutzen... Oder Du machst einen selfjoin
> und z�hlst wieviele datens�tze eine kleinere ID haben als der
> aktuelle...
Eine genauso wenig performante L�sung f�r das Ranking geht so:
Ausgangsbasis ist
SELECT kunde, wert
FROM kunden
ORDER BY wert DESC
Ein Ranking erh�lt man dann mit
SELECT kunde, wert,
(SELECT COUNT(*)
FROM kunden AS k2
WHERE k2.wert >= k1.wert) AS rang
FROM kunden AS k1
ORDER BY wert DESC
Wichtig ist, dass die Tabelle sortiert und im Sub-SELECT gez�hlt wird,
wieviele Datens�tze im Sortierkriterium einen kleineren Wert haben. Wird
aufsteigend sortiert, z�hlt man die Werte, die kleiner oder gleich, bei
absteigender Sortierung die, die gr��er oder gleich dem aktuellen Wert
sind.
Ich denke, dass rs.AbsolutePosition wesentlich performanter ist, wenn
man die Daten in einer Schleife bearbeitet.
Freundliche Gr��e
Joachim van de Bruck
| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp