Seite 1 von 1

[gelöst] Wettkampf Rangliste bei gleicher Punktezahl

Verfasst: So, 30.04.2017 11:59
von Ennstaler
Hallo;

Dank großer Hilfe hier und mit folgendem Code frage ich bei einem Bogenturnier die Rangliste nach Punkte ab.

Code: Alles auswählen

SELECT `ID`, ( SELECT COUNT( `Punkte` ) 
FROM `Abfrage_Turnier_Alter` WHERE `Punkte` >= `a`.`Punkte` 
AND `Alter` >= 15 ) AS `Rang`, `Nachname`, `Vorname`, `Geschlecht`, `Alter`, `Bogen`, `Punkte`, `Verein`, `Mannschaft` 
FROM `Abfrage_Turnier_Alter` AS `a` 
WHERE `Alter` >= 15 ORDER BY `Punkte` DESC
Dabei werden Teilnehmer ab 15 Jahre nach erreichten Wettkampfpunkten absteigend in einer Rangliste abgefragt.
Funktioniert super.

Jetzt aber der kleine Schönheitsfehler.
Angenommen, der 2. und der 3. Platzierte haben gleich viele Punkte.
Normalerweise wäre die Rangliste dann 1.,2.,2., 4. usw.

Bei mir schaut die Rangliste bei gleicher Punktezahlt vom 2. und 3. Platzierten so aus:
1.,3.,3.,4. usw..

Zur besseren Vorstellung siehe Screenshot.
rangliste-bei-gleicher-punktezahl.png
rangliste-bei-gleicher-punktezahl.png (12.5 KiB) 3642 mal betrachtet
Ist es möglich, dass die Rangliste so gezählt wird, dass es wie in diesem Beispiel den 3. auslässt und nicht den 2. ?

Re: Wettkampf Rangliste bei gleicher Punktezahl

Verfasst: So, 30.04.2017 13:44
von F3K Total
So vielleicht?

Code: Alles auswählen

SELECT
    "ID",
    (SELECT COUNT( "Punkte" ) FROM "Abfrage_Turnier_Alter" WHERE "Punkte" > "a"."Punkte"  AND "Alter" >= 15  ) + 1 AS "Rang",
    "Nachname",
    "Punkte",
    "Geschlecht",
    "Mannschaft",
    "Alter"
FROM
    "Abfrage_Turnier_Alter" AS "a"
WHERE
    "Alter" >= 15
ORDER BY
    "Punkte" DESC
Gruß R

Re: Wettkampf Rangliste bei gleicher Punktezahl

Verfasst: So, 30.04.2017 14:08
von Ennstaler
Woahhh, DANKE - perfekt;

Beste Grüße,
Peter