数据准备
Create table If Not Exists Candidate (id int, name varchar(255));
Create table If Not Exists Vote (id int, candidateId int);
Truncate table Candidate;
insert into Candidate (id, name) values ('1', 'A');
insert into Candidate (id, name) values ('2', 'B');
insert into Candidate (id, name) values ('3', 'C');
insert into Candidate (id, name) values ('4', 'D');
insert into Candidate (id, name) values ('5', 'E');
Truncate table Vote;
insert into Vote (id, candidateId) values ('1', '2');
insert into Vote (id, candidateId) values ('2', '4');
insert into Vote (id, candidateId) values ('3', '3');
insert into Vote (id, candidateId) values ('4', '2');
insert into Vote (id, candidateId) values ('5', '5');
需求
编写一个SQL查询来报告获胜候选人的名字(即获得最多选票的候选人)。生成测试用例以确保 只有一个候选人赢得选举。
输入
输出
-- 编写一个SQL查询来报告获胜候选人的名字(即获得最多选票的候选人)。生成测试用例以确保 只有一个候选人赢得选举。
select name
from Vote v,Candidate c
where v.candidateId=c.id
group by name
order by count(1) desc
limit 1;