我正在尝试执行一个SQL,这将导致显示来自一系列比赛的第1,第2或第3名运动员。我的问题是试图在“只有”运动员中加入两次或更多次符合此标准的问题?
SELECT
athlete.athlete_id, athlete.name, race.place
FROM
athlete
INNER JOIN
race ON race.athlete_id = athelete.athlete_id
WHERE
race.place IN (1, 2, 3);
运行上述SQL显示只会显示第1,第2或第3名的运动员。如何将第二部分添加到我的SQL?
答案 0 :(得分:1)
SELECT
athlete.athlete_id, athlete.name, race.place
FROM
athlete
INNER JOIN
race ON race.athlete_id = athelete.athlete_id
WHERE
race.place IN (1, 2, 3);
GROUP BY
athlete.athlete_id
HAVING count(athlete.athlete_id) >= 2
试试这个。