2017-02-01 28 views
0

私は2つのテーブルを持っています。結果の1つとアスリートの1つ。私はそれを実行すると、すべてのアスリートのすべての結果が表示されます。どのようにすれば、各選手から最も速い時間を得ることができますか?下の例では、リードブラウンの最速の時間を求めています。初心者。ランニングランキングデータベース

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

あなたの現在のクエリが何であるかを必要と多分あなたのテーブルのPICはperformances.id、 performances.place、 performances.athlete_id、 performances.gradeを選択 –

+0

、 performances.team_id、 performances.time、 performances.event 出演から オーダー順 – Alex

+0

蟻を表示するには? 'アスリート名1 - タイム' 'アスリート名2 - タイム'以降、または時間だけ? – TiGreX

答えて

2

次のことを試してみてください。

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

ありがとうございました。今私はそれがどのように機能するかを理解する必要があります。良いオンラインリソースをお勧めしますか? – Alex

+1

w3の学校は、通常、SQLにかなり良いです。また、あなたができる場合は、受け入れられupvoteとして答えを選択することを確認してください。ありがとう。 –

+1

@Alex upvote please –