Leetcode力扣 MySQL数据库 574 当选者
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 当选者相关推荐
- Leetcode力扣 MySQL数据库 1264 页面推荐
1264 页面推荐 SQL架构 Create table If Not Exists Friendship_1264 (user1_id int, user2_id int); Create tabl ...
- Leetcode力扣 MySQL数据库 1468 计算税后工资
1468 计算税后工资 SQL架构 Create table If Not Exists Salaries_1468 (company_id int, employee_id int, employe ...
- 《LeetCode力扣练习》剑指 Offer 30. 包含min函数的栈 Java
<LeetCode力扣练习>剑指 Offer 30. 包含min函数的栈 Java 一.资源 题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调 ...
- 《LeetCode力扣练习》剑指 Offer 29. 顺时针打印矩阵 Java
<LeetCode力扣练习>剑指 Offer 29. 顺时针打印矩阵 Java 一.资源 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matr ...
- 《LeetCode力扣练习》第96题 不同的二叉搜索树 Java
<LeetCode力扣练习>第96题 不同的二叉搜索树 Java 一.资源 题目: 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回 ...
- 《LeetCode力扣练习》剑指 Offer 28. 对称的二叉树 Java
<LeetCode力扣练习>剑指 Offer 28. 对称的二叉树 Java 一.资源 题目: 请实现一个函数,用来判断一棵二叉树是不是对称的.如果一棵二叉树和它的镜像一样,那么它是对称的 ...
- 《LeetCode力扣练习》剑指 Offer 27. 二叉树的镜像 Java
<LeetCode力扣练习>剑指 Offer 27. 二叉树的镜像 Java 一.资源 题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4 / 2 7 / \ / ...
- 《LeetCode力扣练习》剑指 Offer 25. 合并两个排序的链表 Java
<LeetCode力扣练习>剑指 Offer 25. 合并两个排序的链表 Java 一.资源 题目: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的. 示例1: ...
- 《LeetCode力扣练习》剑指 Offer 24. 反转链表 Java
<LeetCode力扣练习>剑指 Offer 24. 反转链表 Java 一.资源 题目: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1-& ...
最新文章
- 数据处理_流数据处理利器
- Flex值得一看参考资源
- regexpal 正则表达式实时调试工具
- 畅玩mt3单机游戏服务器维护,【梦幻西游】MT3仿端手工游戏服务端源码[教程+授权物品后台]...
- Sudo 授权需谨慎,否则脸上泪两行
- ADS错误(Fatal)L6002U解决方法
- solr elasticsearch比较
- ios10不能定位 window.navigator.geolocation.getCurrentPosition(定位第一节)
- python中cock什么意思_[转载]原创脚本逐步实现Autodcock-Vina的虚拟筛选及筛选后分析...
- Storm集群使用DRPC功能Version1.0.1
- confirm关闭 layer_基于 vue+layer.js 超青睐的弹窗组件VueLayer
- Linux_基础_软件包管理
- boost.asio异步并发Tcp服务器
- python编程入门书籍-零基础学习Python编程,这8本书必看!
- 计算机组成原理完整学习笔记(八):控制器设计
- SpringBoot读取配置文件中的数据
- 暂时初步完成了搜索引擎的基本功能
- 机械手基础知识(2)之机械手的正运动学和逆运动学问题
- html关于圣诞节主题的网页,灵感: 8个以圣诞节为主题的网站欣赏
- 18年华为没有1项原创发明
热门文章
- c2010页面闪现_Vue.js中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
- java微信昵称保存_JAVA微信开发-如何保存包含特殊字符的微信昵称
- JpaRepository动态查询sql
- 河源云浮环境监测实验室工作区设计
- 从FPGA到camera ISP漫谈
- android8 .te文件,te文件
- 《小王子》,《纳尼亚传奇:魔法师的外甥》,《鲁滨逊漂流记》短语合集
- Automatic Portrait Segmentation for Image Stylization 翻译学习
- Android SQLite简单使用
- 无限火力更新服务器公告,英雄联盟更新维护公告