leetcode574. 当选者(SQL)

表: Candidate

+-----+---------+
| id  | Name    |
+-----+---------+
| 1   | A       |
| 2   | B       |
| 3   | C       |
| 4   | D       |
| 5   | E       |
+-----+---------+  
表: Vote

+-----+--------------+
| id  | CandidateId  |
+-----+--------------+
| 1   |     2        |
| 2   |     4        |
| 3   |     3        |
| 4   |     2        |
| 5   |     5        |
+-----+--------------+
id 是自动递增的主键,
CandidateId 是 Candidate 表中的 id.
请编写 sql 语句来找到当选者的名字,上面的例子将返回当选者 B.

+------+
| Name |
+------+
| B    |
+------+
注意:

你可以假设没有平局,换言之,最多只有一位当选者。

按人id分组,按count排序,第一的就是。

select c.name
from candidate as c,vote as v
where c.id=v.candidateid
group by v.candidateid
order by count(*) desc
limit 1
发布了582 篇原创文章 · 获赞 1万+ · 访问量 138万+

猜你喜欢

转载自blog.csdn.net/hebtu666/article/details/104375226
今日推荐