LeetCode MySQL 580. 统计各专业学生人数

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

一所大学有 2 个数据表,分别是 student 和 department ,这两个表保存着每个专业的学生数据和院系数据。

写一个查询语句,查询 department 表中每个专业的学生人数 (即使没有学生的专业也需列出)。

将你的查询结果按照学生人数降序排列。
如果有两个或两个以上专业有相同的学生数目,将这些部门按照部门名字的字典序从小到大排列。

student 表格如下:

| Column Name  | Type      |
|--------------|-----------|
| student_id   | Integer   |
| student_name | String    |
| gender       | Character |
| dept_id      | Integer   |
其中, student_id 是学生的学号, 
student_name 是学生的姓名, 
gender 是学生的性别, 
dept_id 是学生所属专业的专业编号。

department 表格如下:

| Column Name | Type    |
|-------------|---------|
| dept_id     | Integer |
| dept_name   | String  |
dept_id 是专业编号, dept_name 是专业名字。

这里是一个示例输入:

student 表格:| student_id | student_name | gender | dept_id |
|------------|--------------|--------|---------|
| 1          | Jack         | M      | 1       |
| 2          | Jane         | F      | 1       |
| 3          | Mark         | M      | 2       |
department 表格:| dept_id | dept_name   |
|---------|-------------|
| 1       | Engineering |
| 2       | Science     |
| 3       | Law         |
示例输出为:| dept_name   | student_number |
|-------------|----------------|
| Engineering | 2              |
| Science     | 1              |
| Law         | 0              |

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/count-student-number-in-departments
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 内层子表,先算出院系的人数
  • 外层跟 department 表左连接
# Write your MySQL query statement below
select dept_name, ifnull(t.people,0) student_number
from department d left join
(select dept_id, count(*) peoplefrom studentgroup by dept_id
) t
on d.dept_id = t.dept_id
order by student_number desc, dept_name

1721 ms


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python数据抓取技术与实战训练_师傅带徒弟学Python:项目实战1:网络爬虫与抓取股票数据...

本视频基于**Python 3.X版本本视频课程是第四篇第一个实战项目,内容包括网络爬虫技术、使用urllib爬取数据、使用Selenium爬取数据、使用正则表达式、使用BeautifulSoup库、MySQL数据库、Python访问数据库、Lambda表达式和多线程。目录:22.1 网络爬虫技术…

gPodder 3.4 发布,播客接收器

gPodder 3.4 修复了 Youtube 和 Vimeo 下载的问题,更新了 Flattr 集成,性能和 UI 方面的改进等。 gPodder是播客接收器,采用Python和PyGTK开发。它帮你管理播客RSS供稿,并自动下载您想要的所有的播客许多资料。如果你对某个 供稿R…

LeetCode 1522. Diameter of N-Ary Tree(递归)

文章目录1. 题目2. 解题1. 题目 Given a root of an N-ary tree, you need to compute the length of the diameter of the tree. The diameter of an N-ary tree is the length of the longest path between any two nodes in the tree. This path may or may not pass thro…

python控制条件语句_Python条件控制语句

一、条件判断语句(if语句)执行的流程if语句在执行时,会先对条件表达式进行求值判断如果为True,则执行if后的语句如果为False,则不执行语法:if 条件表达式:代码块代码块代码中保留着一组代码,同一个代码块中…

LeetCode MySQL 1355. 活动参与者(any函数)

文章目录1. 题目2. 解题1. 题目 表: Friends ------------------------ | Column Name | Type | ------------------------ | id | int | | name | varchar | | activity | varchar | ------------------------ id 是朋友的 id 和该表的主…

python zipfile教程_Python中zipfile压缩文件模块的基本使用教程

zipfilePython 中 zipfile 模块提供了对 zip 压缩文件的一系列操作。fzipfile.ZipFile("test.zip",mode"") //解压是 r , 压缩是 w 追加压缩是 amode的几种:解压:r压缩:w追加压缩:a压缩一个文件创建一个压缩文…

asp不同编码下 UTF-8 GB2312转换收集

用于gb2312下接收新浪api 的json数据utf-8转gb2312 UTF-8字符转换成GB2312 Function UTF2GB(UTFStr) For Dig1 to len(UTFStr) if mid(UTFStr,Dig,1)"%" then if len(UTFStr) > Dig8 then GBStrGBStr & ConvChinese(mid(UTFStr,Dig,9)) DigDig8 else GBStrG…

LeetCode MySQL 578. 查询回答率最高的问题

文章目录1. 题目2. 解题1. 题目 从 survey_log 表中获得回答率最高的问题, survey_log 表包含这些列:id, action, question_id, answer_id, q_num, timestamp。 id 表示用户 id; action 有以下几种值:"show"&#xff…

mysql的cpu飙升到500_[MySQLCPU]线上飙升800%,load达到12的解决过程

接到报警通知,负载过高,达到800%,load也过高,有11了。MySQL版本为5.6.12-log1 top 之后,确实是mysqld进程占据了所有资源。2 查看error日志,无任何异常3 show eninge innodb status\G,没有死锁信…

【分享】Android JNI实例​

【分享】Android JNI实例​ Android的SDK中没有包括JNI的支持,而且对如何支持JNI也没有任何文档说明。不过既然整个Android平台是开源的,我们可以通过Google发布的源代码来找到一些线索(比如frameworks/base/media/jni/目录)&…

LeetCode MySQL 1098. 小众书籍

文章目录1. 题目2. 解题1. 题目 书籍表 Books: ------------------------- | Column Name | Type | ------------------------- | book_id | int | | name | varchar | | available_from | date | ------------------------- book_…

mysql linux 还原_linux下java还原mysql数据库

pageEncoding"UTF-8" import"java.lang.*,java.io.*,java.util.*"%>Runtime runtime Runtime.getRuntime();// 将/data/backup.sql 还原到 192.168.0.96 上的demo库 账号密码为 root rootString restore "mysql -u root -proot -h 192.168.0.96 …

解决eclipse无法解析导入org.eclipse.swt库

右键点击项目 -> Build Path -> Config Build Path...然后选择Libraries标签页,点击Add External JARs...再到你的eclipse安装目录下的plugins目录下寻找 org.eclipse.swt.win32.win32.x86_XXXXX.jar(XXXXX是版本号)。 我的对应库是org…

LeetCode MySQL 1107. 每日新用户统计

文章目录1. 题目2. 解题1. 题目 Traffic 表: ------------------------ | Column Name | Type | ------------------------ | user_id | int | | activity | enum | | activity_date | date | ------------------------ 该表没有主键&a…

mysql gui 有哪些_推荐五款较好的MySQLGUI工具

大多数数据库都是由两个截然不同的部分组成的:后端(存储数据的地方)和前端(一个用于连接数据组件的用户界面)。这种架构可以大多数数据库都是由两个截然不同的部分组成的:后端(存储数据的地方)和前端(一个用于连接数据组件的用户界面)。这种架构可以把用…

共享打印机的方法

共享打印机的方法 1、在计算机上连接好打印机,并安装好打印机的驱动,测试是否在本机上可以打印 ; 2、在打印服务器上,共享该打印机; 3、保证打印服务器上的共享资源可以正常地访问; 4、在PC机运行“\\打印服…

LeetCode MySQL 1149. 文章浏览 II

文章目录1. 题目2. 解题1. 题目 Table: Views ------------------------ | Column Name | Type | ------------------------ | article_id | int | | author_id | int | | viewer_id | int | | view_date | date | ---------------------…

调试lua代码

lua没有调试器,但是它提供了很强的调试功能(debug 库), 所以其实一些常用的调试功能都能很方便的使用,就像使用一个命令行调试器一样: 【例子程序】 -- debug.luagvar1 100 function foo()local var2 10f…

php增加mysql用户_mysql 增加用户

1. 新增用户 Sql代码 mysql insert into mysql. user (Host, User , Password ) values ( localhost , lionbule , password ( hello1234 )); mysqlflush privileges ; 或者 CREATEUSER usernamehost IDENTIFIEDBYpassword; 例子:CREATEUSERdoglo1. 新增用户Sql代码mysql>i…

2012总结--序

新时代Fans同学一直有 总结的习惯!2012总结不同以往,这次总结是 划时代的。 世界末日已过,新的时代已经开始! 2012年是至关重要的一年,不在于 IT技术上有多大提高,而是在于: 1. 离开校园&#x…