添加子查询

时间:2014-11-21 01:21:08

标签: mysql subquery

我正在尝试执行一个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?

1 个答案:

答案 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

试试这个。