Rangorde in een query

Status
Niet open voor verdere reacties.

teboek

Gebruiker
Lid geworden
5 nov 2005
Berichten
14
Hallo

Ik wil in het resultaat van een query een rangorde aan de rijen meegeven.
de query rekent voor elke rij de score uit. De hoogste score komt boven aan en staat op de eerste plaats.

Met welke MSSQL functie(combinatie van functies kan ik de "Plaats" voor elke rij weergeven zoals in het onderstaande voorbeeld?
Dus alleen een plaatsnummer als de score afwijkt van de vorige rij.

plaats naam punten

<p>&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;Piet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 55
<p>&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;Jan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;54
<p>&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;Klaas&nbsp;&nbsp;&nbsp;&nbsp;53
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Theo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;53
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mien&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;53
<p>&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;Wim&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;52
<p>&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;Jo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;51
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jos&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;51
<p>&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp; Henk&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;50
<p>&nbsp;&nbsp;10&nbsp;Dewi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;49
<p>&nbsp;&nbsp;11&nbsp;Natasja&nbsp;&nbsp;48

Ik zou enorm geholpen zijn me een goede tip
 
Dat kun je het eenvoudigste op een rapport regelen.

Zorg dat je rapport van een query afhankelijk is.
Zet in deze query een veld 'nummer' met als waarde 1 ..... notatie is dan : [nummer: 1]
Voeg een veld toe aan je rapport.
Zorg dat de besturingselementbron het veld 'nummer' uit de query is.
Zet het Lopend Totaal op 'JA'.
Als het goed is loopt dit veld nu van 1 op tot aan het aantal records dat getoond wordt.
 
Bedankt Bartuls
Dit werkt jammer genoeg maar ten dele.

ik wil graag bij een gelijke score dat de personen ook op een gelijke plaats staan.

in het voorbeeld hebben Klaas, Theo en Mien alledrie 53 punten en staan daarmee op de derde plaats.
ik wil dat maar één keer (de eerste keer) de derde plaats in het overzicht genoemd wordt.
de volgende score moet dan gewoon verder lopen zoals in het voorbeeld: 6e plaats Wim met 52 punten.

in excel doe ik dat als volgt:

=ALS(RANG(B2;$B$1:$B$30)=RANG(B1;$B$1:$B$30);"";RANG(B2;$B$1:$B$30))

Als er een oplossing in de query zelf mogelijk is heeft dat mijn voorkeur.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan