私は、結果の ID 番号の列を返す SQL クエリを作成しようとしています。その中の各チームの人々は、最高のタイムでのみ表示されます。
要するに、リレー種目(水泳の4人チーム)にタイムを入れて、そのチームのベストタイムだけを出すシステムです。
私が考えることができる唯一のことは、result.idでGroup Byを実行し、GROUP_CONCAT(member_result.member_id ORDER BY member_result.member_id)であるフィールドを持つことです。これでグループ化できますが、行き詰まります。
提案は大歓迎です。
余談ですが、リレー以外のイベントの場合、これは私が使用しているコードです。
SELECT result_id FROM (
SELECT member_id,MIN(time) AS mintime
FROM result
JOIN member_result ON result.id = member_result.result_id
WHERE event_id = ?
GROUP BY member_id
ORDER BY mintime
) AS x
JOIN result ON result.time = x.mintime
JOIN member_result ON member_result.result_id = result.id AND member_result.member_id = x.member_id AND event_id = ?
GROUP BY member_result.member_id ORDER BY mintime