[MySQL] Abfrage mit 2 Bedingungen

Askeria

Grünschnabel
Guten Tag!

ich programmiere gerade für einen bekannten ein kleines verwaltungstool für ein minigolf turnier.

im moment schreibe ich jedes runden ergebniss in eine tabelle ('ergebniss') - mit folgenden werten:

id, spielername, liga (kinder männlich etc.), team, rundesumme

nun sollte die auswertung folgender maßen von statten gehen (pseudosprache):

erster ist der mit der geringsten schlagzahl (über ORDER BY gut zu erledigen).
bei 2 oder mehr gleichem rundenergebniss, ist derjenige besser platziert, der mehr runden gespielt hat (spirch, der der mehr einträge in dieser tabelle hat).

da ich mit MySQL nur rudimentäre sachen erledige (einfache abfragen, updates, inserts), muss ich gestehen, hier meine grenze gefunden zu haben...

vielleicht hat einer einen guten lösungansatz?

das tool läuft lokal mit wamp - weshalb es keine sicherheitsaspekte gibt, welche berücksichtig werden müssen (notebook ist nicht im internet).

in der hofffnung auf hilfe,
askeria
 
Du speicherst pro Spieler nur die Rundenergebnisse oder auch pro Loch?

Für Deine Rundenfrage wäre wohl COUNT() mit GROUP BY das Richtige. Schau Hier.

mfg chmee
 
Zuletzt bearbeitet:
danke chmee für die schnelle und hilfreiche antwort.
mein kumpel hat nach mehrmaiger rücksprache bestätigt, dass er die einzelnen lochergebnisse nicht braucht (was in dem fall natürlich akurater wäre). da es sich bei den teilnehmern um 99% einheimische handelt die noch dazu viele male spielen werden (turnier geht 10 tage), wollte er es unbeding so lösen (der kleine geschäftsmann ;) ).

danke nochmals für die shcnelle und konstruktive hilfe.
 
ich habe mir die zwei statements angeschaut - und in der tat, genau das habe ich gesucht :D
ich habe es auch soweit lauffähig - mich würde noch deine meinung zum syntax-aufbau interessieren, damit ich eventuell besser werde.

meine aktuelle 'overall' auswertung wird mit folgender anweisung geholt:

SELECT *,MIN(`summe`) AS minsum, COUNT(`spieler`) AS rundenzahl FROM `ergebnisse` GROUP BY `spieler` ORDER BY MIN(`summe`) ASC, COUNT(`spieler`) DESC;

ist das ok, oder gebe es optimierungspotential (vom DB-design mal abgesehen)?

danke nochmals für deine hilfe
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück