Sortierung bei gleichen Punktzahlen

Moderator: ModerationP

Sortierung bei gleichen Punktzahlen

Beitragvon ms67 » 08. Dez 2017, 11:25

Hallo,
ich habe für eine Turnierauswertung eine Siegerliste als Bericht erstellt. Dieser basiert auf einer Abfrage. Hier werden die höchsten Punktzahlen auf die ersten Plätzen sortiert.
Bei Punktegleichstand erfolgt die Sortierung nach Zentrumstreffern.
Nun habe ich den Fall gehabt das sowohl Punkte als auch Zentrumstreffer gleich waren. Statt die Schützen auf den gleichen Platz zu sortieren, werden die einfach fortlaufend (alphabetisch) sortiert.
Wie kann ich so ein Problem lösen?
Im Bericht wird der erreichte Platz durch die Anweisung =1 vor den Namen gestellt
08-12-_2017_11-23-19.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
ms67
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 264
Registriert: 04. Feb 2011, 17:16

Re: Sortierung bei gleichen Punktzahlen

Beitragvon Bitsqueezer » 08. Dez 2017, 16:00

Hallo,

was dann bedeutet, wer das Glück hat, einen kleineren Anfangsbuchstaben zu haben, hat immer den Vorteil...nun ja...

Aber die Lösung hast Du selbst genannt. In das "ORDER BY" gehört dann als drittes Sortierkriterium der Nachname, besser auch noch der Vorname und ggf. weitere Kriterien. Es könnten ja auch zwei "Thomas Müller" sein...;-)

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6497
Registriert: 21. Jun 2007, 12:17

Re: Sortierung bei gleichen Punktzahlen

Beitragvon Gast » 08. Dez 2017, 17:03

Wie kann ich so ein Problem lösen?

Die typische Lösung über eine laufende Nummer würde bei gleichen Voraussetzungen auch gleiche Ränge wiedergeben.
Gast
 

Re: Sortierung bei gleichen Punktzahlen

Beitragvon ms67 » 08. Dez 2017, 17:26

Hallo
was ist mit laufender Nummer gemeint und wie setze ich das um? Sorry wenn ich da ein bisschen dumm Frage.
ms67
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 264
Registriert: 04. Feb 2011, 17:16

Re: Sortierung bei gleichen Punktzahlen

Beitragvon ms67 » 08. Dez 2017, 18:44

@Bitsqueezer
das habe ich ja bereits. Wie im Screenshot zu sehen wird der mit dem höheren Buchstaben im Alphabet auf platz 4 geschoben. Ich möchte dann aber 2 dritte Plätze ausgewiesen haben
Unbenannt.JPG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
ms67
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 264
Registriert: 04. Feb 2011, 17:16

Re: Sortierung bei gleichen Punktzahlen

Beitragvon Bitsqueezer » 08. Dez 2017, 19:37

Hallo,

OK, dann hatte ich Dich mißverstanden.

Das kannst Du mit 3 Abfragen so lösen:
1. Du mußt alle vorkommende Punkte nach Punkten gruppieren. Damit erhältst Du eine Liste aller vorkommenden Punkte, in der jede Punktzahl nur einmal vorkommt.
2. diese verwendest Du als Basis für eine zweite Abfrage, die eine laufende Nummer hinzufügt, sortiert nach Punkten.
3. diese Abfrage verwendest Du in der dritten Abfrage, um die Punkteliste über die Punkte mit der Abfrage zu verbinden - fertig.

Ein Beispiel ist in der Datenbank im Anhang.
Spieler und Punkte.zip


Statt der Spieler-ID wie im Beispiel kannst Du dann natürlich noch eine Namensliste hinzulinken und dann noch nach Namen sortieren bei den gleichen Punktzahlen.

Gruß

Christian
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6497
Registriert: 21. Jun 2007, 12:17

Re: Sortierung bei gleichen Punktzahlen

Beitragvon ms67 » 08. Dez 2017, 21:07

Hallo Christian,
ich versuche das mal umzusetzen. Vielen Dank erst einmal für deine Mühe.
ms67
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 264
Registriert: 04. Feb 2011, 17:16

Re: Sortierung bei gleichen Punktzahlen

Beitragvon ms67 » 14. Jan 2018, 17:07

Hallo
ich habe das mit den Abfragen hinbekommen. leider schaffe ich es aber nicht die Punkte nach Startklassen und Bogenklassen zu gruppieren. Zudem muss dann auch noch der Urkundendruck angepasst werden.
Im Bericht Siegerliste sieht man unten bei den Herren, dass 4x gleiche Punktzahl nicht 4x den gleichen Platz ergeben.
Vielleicht kann mir jemand helfen? :oops:
Die Abfragen lauten:abfr_P1, abfr_Platzierung, abfr_ergebniss

Im Anhang die Bespieldatenbank
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
ms67
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 264
Registriert: 04. Feb 2011, 17:16

Re: Sortierung bei gleichen Punktzahlen

Beitragvon Gast » 14. Jan 2018, 21:24

Statt der Abfragenkette:
Code: Alles auswählen
SELECT
   DCOUNT("*", "tbl_Teilnehmer", "fid_Bogenklasse = " & T.fid_Bogenklasse & " AND fid_Startklasse = " & T.fid_Startklasse & " AND Punkte > " & T.Punkte) + 1 AS Platz,
   T.ID_Teilnehmer,
   T.Punkte,
   T.fid_Bogenklasse,
   T.fid_Startklasse
FROM
   tbl_Teilnehmer AS T
ORDER BY
   T.fid_Bogenklasse,
   T.fid_Startklasse,
   T.Punkte DESC
Gast
 

Re: Sortierung bei gleichen Punktzahlen

Beitragvon ms67 » 15. Jan 2018, 09:17

Hallo und vielen dank,
Die Abfrage habe ich in der sql ansicht eingefügt und es funktioniert.
Allerdings steh ich (als Laie) vor dem Problem die Kills ebenfalls mit auswerten zu müssen. Soll heißen bei Punktgleicheit wird geschaut wer mehr Kills (Zentrumstreffer) hat. Sind diese auch gleich
so wird die gleiche Platzierung vergeben.
ms67
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 264
Registriert: 04. Feb 2011, 17:16

Re: Sortierung bei gleichen Punktzahlen

Beitragvon Gast » 15. Jan 2018, 09:36

Moin ms67,

ich will dem Gast nicht vorgreifen, aber dann muss wohl der DCount()-Subselect um eine Bedingung " and kills=t.kills" erweitert werden und ins Order By muss t.Kills auch.

Grüße
Biber
Gast
 

Re: Sortierung bei gleichen Punktzahlen

Beitragvon Gast » 15. Jan 2018, 09:36

Moin ms67,

ich will dem Gast nicht vorgreifen, aber dann muss wohl der DCount()-Subselect um eine Bedingung " and kills=t.kills" erweitert werden und ins Order By muss t.Kills auch.

Grüße
Biber
Gast
 

Re: Sortierung bei gleichen Punktzahlen

Beitragvon Gast » 15. Jan 2018, 09:41

Wenn man unterstellt, dass nur weniger als 1000 Zentrumstreffer auftreten können:
Code: Alles auswählen
SELECT
   DCOUNT("*", "tbl_Teilnehmer", "fid_Bogenklasse = " & T.fid_Bogenklasse & " AND fid_Startklasse = " & T.fid_Startklasse & " AND Punkte * 1000 + Kills > " & T.Punkte * 1000 + T.Kills) + 1 AS Platz,
   T.ID_Teilnehmer,
   T.Punkte,
   T.fid_Bogenklasse,
   T.fid_Startklasse
FROM
   tbl_Teilnehmer AS T
ORDER BY
   T.fid_Bogenklasse,
   T.fid_Startklasse,
   T.Punkte DESC,
   T.Kills DESC
Gast
 

Re: Sortierung bei gleichen Punktzahlen

Beitragvon Gast » 15. Jan 2018, 09:44

Nachtrag. Die Sortierung ist für die Funktionalistät egal, sie könnte auch eine ganz andere sein.
Sie dient in der gewählten Form nur dazu, dem menschlichen Betrachter eine Übersicht zu Gruppen, Punkten und Plätzen zu bieten.
Gast
 

Re: Sortierung bei gleichen Punktzahlen

Beitragvon ms67 » 15. Jan 2018, 10:08

hallo, vielen dank nochmal!
Das schein zu klappen, jetzt muss ich noch irgendwie den Report anpassen. Wie könnt Ihr bloß so schnell so etwas rausbekommen????
ms67
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 264
Registriert: 04. Feb 2011, 17:16

Nächste

Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste