オリンピックデータベースに関して質問されました。
「複数のイベントに参加した各競技者について、名前、家族名、イベントの数、最高の場所と最悪の場所をリストします(他のデータはありません)。この情報を番号の降順でリストします。イベントの数(つまり、ほとんどのイベントが最初)、および(競合他社が同じ数のイベントを持っている場合)次に、最高の場所の昇順で、(同じ最高の場所の場合)次に、最悪の場所の昇順で、(同じ最悪の場合)場所)次に、家族名の昇順で。」
これを行うためのクエリを作成しようとしましたが、正しいカウントが返されません。2のカウントで停止し、正しい最小値または最大値を返しません。表は次のとおりです。
競合他社の表
Competitornum | Givenname | Familyname | Gender | Dateofbirth | CountryCode |
結果表には
Eventid | Competitornum | Place | Lane | Elapsedtime | Note |
クエリ
SELECT c.Givenname, Familyname, COUNT(r.Competitornum), MIN(r.Place), MAX(r.Place)
FROM Competitors c
JOIN Results r
ON c.Competitornum=r.Competitornum
Group by c.Givenname, familyname, place
Having Count(r.Competitornum) > 1
これは私がこれまでに思いついたクエリであり、何が間違っているのかわかりません。