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

Antwort per Email an