我正在我的网站上进行比赛.每场比赛都可以有多个参赛作品 如果只有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)
这将找到每个竞赛的最大投票价值,并计算具有该投票数的条目.然后它会显示多个匹配的比赛.
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)
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)
归档时间: |
|
查看次数: |
1072 次 |
最近记录: |