题目难度
中等
题目描述
注意:你可以假设没有平局,换言之,最多只有一位当选者。
正确答案
SELECT
Name
FROM
(SELECT
c.Name,COUNT(v.id) AS VOTES
FROM
Vote v, Candidate c
WHERE v.CandidateId = c.id
GROUP BY v.CandidateId
ORDER BY VOTES DESC) AS TMP
LIMIT 1
错误答案
SELECT Name
FROM Candidate
WHERE id IN
(SELECT CandidateId AS id,SUM(num) AS votes
FROM Vote,
(SELECT 1 as num) AS T
GROUP BY CandidateId
ORDER BY votes
LIMIT 1)
- IN 后面只能出现对应的列数,这里只有id一个变量,IN后表只应有一列
有CandidateId AS id
,不能有SUM(num) AS votes
- IN 后的表中不能有LIMIT