2017-02-01 2 views
0

Ich habe 2 Tabellen. Einer mit Ergebnissen und einer mit Athleten. Wenn ich es leite, listet jedes Ergebnis von jedem Athleten auf. Wie bekomme ich von jedem Athleten die schnellste Zeit? Im folgenden Beispiel möchte ich nur die schnellste Zeit von Reed Brown.Neuling; Running Rankings Datenbank

id place athlete_id grade team_id    time event 
126 3  Reed Brown 11  TEXAS    4:01.99 1600m 
127 1  Reed Brown 11  Southlake Carroll 4:07.17 1600m 
95 1  Reed Brown 11  Southlake Carroll 4:07.17 1600m 
128 2  Bryce Hoppel 12  Midland Senior  4:15.12 1600m 
96 2  Bryce Hoppel 12  Midland Senior H 4:15.12 1600m 
+1

müssen, was Ihre aktuelle Abfrage ist und vielleicht ein Bild von Ihrer Tabellen –

+0

SELECT performances.id, performances.place, performances.athlete_id, performances.grade , performances.team_id, performances.time, performances.event aus den Vorstellungen , um durch die Zeit asc – Alex

+0

, die tun Sie führen w Ameise zu zeigen? 'Athletenname 1 - Zeit'' Athletenname 2 - Zeit' und folgende oder nur die Zeit? – TiGreX

Antwort

2

Versuchen Sie Folgendes:

Select per.* 
From performances per 
Inner Join 
(
    Select athlete_id, MIN(time) AS fastesttime 
    From performances 
    Group By athlete_id 
)per1 
On per1.athlete_id=per.athlete_id 
Where per1.fastesttime=per.time 
+0

Danke, es hat funktioniert. Jetzt muss ich herausfinden, wie es funktioniert. Irgendwelche guten Online-Ressourcen, die Sie empfehlen? – Alex

+1

w3 Schulen ist normalerweise ziemlich gut für SQL. Wenn Sie dazu in der Lage sind, stellen Sie sicher, dass Sie die Antwort als akzeptiert und upvote auswählen. Vielen Dank. –

+1

@Alex upvote bitte –