574 当选者

SQL架构

Create table If Not Exists Candidate_574 (id int, Name varchar(255));
Create table If Not Exists Vote_574 (id int, CandidateId int);
Truncate table Candidate_574;
insert into Candidate_574 (id, Name) values ('1', 'A');
insert into Candidate_574 (id, Name) values ('2', 'B');
insert into Candidate_574 (id, Name) values ('3', 'C');
insert into Candidate_574 (id, Name) values ('4', 'D');
insert into Candidate_574 (id, Name) values ('5', 'E');
Truncate table Vote_574;
insert into Vote_574 (id, CandidateId) values ('1', '2');
insert into Vote_574 (id, CandidateId) values ('2', '4');
insert into Vote_574 (id, CandidateId) values ('3', '3');
insert into Vote_574 (id, CandidateId) values ('4', '2');
insert into Vote_574 (id, CandidateId) values ('5', '5');

表: 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    |
+------+

解题

获胜者是 Vote 表中出现最多次的 CandidateId。

因此可以先按照 CandidateId 分组,然后按照每个分组的计数给分组排序,使用 limit 1 取第一名即可。

获得第一名的 CandidateId 之后,与 Candidate 表连接即可取得获胜者的名字。

select `Name`
from (select CandidateId as idfrom Vote_574group by CandidateIdorder by count(id) desclimit 1
) as Winner join Candidate_574
on Winner.id = Candidate_574.id;

Leetcode力扣 MySQL数据库 574 当选者相关推荐

  1. Leetcode力扣 MySQL数据库 1264 页面推荐

    1264 页面推荐 SQL架构 Create table If Not Exists Friendship_1264 (user1_id int, user2_id int); Create tabl ...

  2. Leetcode力扣 MySQL数据库 1468 计算税后工资

    1468 计算税后工资 SQL架构 Create table If Not Exists Salaries_1468 (company_id int, employee_id int, employe ...

  3. 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java

    <LeetCode力扣练习>剑指 Offer 30. 包含min函数的栈 Java 一.资源 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调 ...

  4. 《LeetCode力扣练习》剑指 Offer 29. 顺时针打印矩阵 Java

    <LeetCode力扣练习>剑指 Offer 29. 顺时针打印矩阵 Java 一.资源 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matr ...

  5. 《LeetCode力扣练习》第96题 不同的二叉搜索树 Java

    <LeetCode力扣练习>第96题 不同的二叉搜索树 Java 一.资源 题目: 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回 ...

  6. 《LeetCode力扣练习》剑指 Offer 28. 对称的二叉树 Java

    <LeetCode力扣练习>剑指 Offer 28. 对称的二叉树 Java 一.资源 题目: 请实现一个函数,用来判断一棵二叉树是不是对称的.如果一棵二叉树和它的镜像一样,那么它是对称的 ...

  7. 《LeetCode力扣练习》剑指 Offer 27. 二叉树的镜像 Java

    <LeetCode力扣练习>剑指 Offer 27. 二叉树的镜像 Java 一.资源 题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4 / 2 7 / \ / ...

  8. 《LeetCode力扣练习》剑指 Offer 25. 合并两个排序的链表 Java

    <LeetCode力扣练习>剑指 Offer 25. 合并两个排序的链表 Java 一.资源 题目: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的. 示例1: ...

  9. 《LeetCode力扣练习》剑指 Offer 24. 反转链表 Java

    <LeetCode力扣练习>剑指 Offer 24. 反转链表 Java 一.资源 题目: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1-& ...

最新文章

  1. 数据处理_流数据处理利器
  2. Flex值得一看参考资源
  3. regexpal 正则表达式实时调试工具
  4. 畅玩mt3单机游戏服务器维护,【梦幻西游】MT3仿端手工游戏服务端源码[教程+授权物品后台]...
  5. Sudo 授权需谨慎,否则脸上泪两行
  6. ADS错误(Fatal)L6002U解决方法
  7. solr elasticsearch比较
  8. ios10不能定位 window.navigator.geolocation.getCurrentPosition(定位第一节)
  9. python中cock什么意思_[转载]原创脚本逐步实现Autodcock-Vina的虚拟筛选及筛选后分析...
  10. Storm集群使用DRPC功能Version1.0.1
  11. confirm关闭 layer_基于 vue+layer.js 超青睐的弹窗组件VueLayer
  12. Linux_基础_软件包管理
  13. boost.asio异步并发Tcp服务器
  14. python编程入门书籍-零基础学习Python编程,这8本书必看!
  15. 计算机组成原理完整学习笔记(八):控制器设计
  16. SpringBoot读取配置文件中的数据
  17. 暂时初步完成了搜索引擎的基本功能
  18. 机械手基础知识(2)之机械手的正运动学和逆运动学问题
  19. html关于圣诞节主题的网页,灵感: 8个以圣诞节为主题的网站欣赏
  20. 18年华为没有1项原创发明

热门文章

  1. c2010页面闪现_Vue.js中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
  2. java微信昵称保存_JAVA微信开发-如何保存包含特殊字符的微信昵称
  3. JpaRepository动态查询sql
  4. 河源云浮环境监测实验室工作区设计
  5. 从FPGA到camera ISP漫谈
  6. android8 .te文件,te文件
  7. 《小王子》,《纳尼亚传奇:魔法师的外甥》,《鲁滨逊漂流记》短语合集
  8. Automatic Portrait Segmentation for Image Stylization 翻译学习
  9. Android SQLite简单使用
  10. 无限火力更新服务器公告,英雄联盟更新维护公告