MySQL检查MAX值是否重复

Rah*_*oud 2 mysql sql select

我正在我的网站上进行比赛.每场比赛都可以有多个参赛作品 如果只有MAX值的投票有重复,我想检索.

表格如下:

contest_id    entry_id    votes
1             1           50
1             2           34
1             3           50
2             4           20
2             5           55
3             6           53
Run Code Online (Sandbox Code Playgroud)

我只需要查询就可以告诉我比赛1有一个重复的MAX值而无需其他信息.

我尝试了这个但是没有用:

SELECT MAX(votes) from contest group by contest_id having count(votes) > 1
Run Code Online (Sandbox Code Playgroud)

Joa*_*son 5

这将找到每个竞赛的最大投票价值,并计算具有该投票数的条目.然后它会显示多个匹配的比赛.

SELECT contest_id
FROM contests
WHERE votes=(
  SELECT MAX(votes) FROM contests c WHERE c.contest_id=contests.contest_id
)
GROUP BY contest_id
HAVING COUNT(*) > 1;
Run Code Online (Sandbox Code Playgroud)

SQLfiddle用于测试.


Joh*_*Woo 5

SELECT  a.contest_ID
FROM    contest a
        INNER JOIN
        (
          SELECT contest_id, MAX(votes) totalVotes
          FROM contest
          GROUP BY contest_id
        ) b ON a.contest_ID = b.contest_ID AND
               a.votes = b.totalvotes
GROUP BY a.contest_ID
HAVING COUNT(*) >= 2
Run Code Online (Sandbox Code Playgroud)