LeetCode-580. 统计各专业学生人数(中等) left join

LeetCode刷题-数据库(MySQL)-580. Count Student Number in Department 580. Count Student Number in Department 一、题目描述 A university uses 2 data tables, student and department, to store data about its students and the departments associated with each major. Write a query t... 阅读详情

一所大学有 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

审题:查询department 表中每个专业的学生人数,学生表中有专业id,和department 表中的专业id相同。然后按照人数多少排序。

思考:联合两个表然后求和,最后排序。

解题:

select A.dept_name,count() as student_number 
from department as A left join student as S on (A.dept_id = s.dept_id)
group by A.dept_id,D.dept_name
order by `student_number` desc,D.dept_name




select D.dept_name,count(S.student_id) as `student_number`
from department as D left join student as S on (D.dept_id = S.dept_id)
group by D.dept_id,D.dept_name
order by `student_number` desc,D.dept_name

知识点:

LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

ABB机器人与西门子PLC、工业相机联合实现无序抓取的完整调试方案 将此方案导入系统后,逐步执行调试,确保各环节信号正常触发,即可实现高效无序抓取! 阅读详情

相关推荐

路径搜索算法——RRT*算法

RRT算法是RRT算法的优化版本,通过引入路径优化机制实现渐进最优性。该算法在高维空间和复杂环境中表现优异,主要步骤包括随机采样、树扩展和邻近节点重新连接。相比RRT,RRT能够不断优化路径质量,但计算复杂度更高。Python实现展示了其核心逻辑:随机采样扩展树节点,检查碰撞,选择最优父节点,并通过重新连接优化路径。算法适用于机器人导航等场景,但需平衡计算效率与路径质量。

swaggytiger的博客 3061

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

编写一个SQL查询,为Department表中的所有部门(甚至是没有当前学生的部门)报告各自的部门名称和每个部门的学生人数。

weixin_51696882的博客 579

用STM32F103C8T6和TB6612驱动模块,从零搭建一辆能避障循迹的智能小车(附完整代码)

本文详细介绍了如何使用STM32F103C8T6和TB6612驱动模块从零搭建一辆能避障循迹的智能小车。内容涵盖硬件选型、电路设计、底层驱动配置以及智能行为算法实现,并附有完整代码示例,帮助开发者快速掌握嵌入式开发的核心技术。

weixin_42641741的博客 444

【数据库原理】 增删改查专题

Insert into student(sno,sname, ssex,sage,sdept) values('95001', '李勇', '男', 20, 'CS')(58) 查询满足条件的(sno,cno)对, 其中该学号的学生没有选修该课程号cno的课程。(64) 求成绩低于该门课程平均成绩的学生的成绩信息(sno,cno,grade)(53) 查询与计算机系(CS)系所有学生的年龄均不同的学生学号, 姓名和年龄。(59) 查询每个学生的课程成绩最高的成绩信息(sno,cno,grade)

CE00001的博客 3420

保姆级教程:用Wokwi玩转ESP32 MicroPython仿真(含库文件配置指南)

本教程详细介绍了如何使用Wokwi平台进行ESP32 MicroPython仿真开发,包括库文件配置、传感器数据模拟和REPL调试技巧。通过Wokwi的仿真调试系统,开发者可以在浏览器中快速验证代码逻辑,提高开发效率,特别适合物联网项目的快速迭代。

weixin_29195615的博客 443

杂记 | 使用keycloak实现SSO单点登录(新手向,概念、原理、逻辑、详细步骤、难点解释)

使用keycloak实现SSO单点登录(概念、原理、逻辑、详细步骤、难点解释)

野生猿林仔的博客 2万+

数据库(三)

数据查询 在表S、C、SC上完成以下查询: 1、查询学生的基本信息; select * from S; 2、查询“CS”系学生的基本信息; select * from S where Sdept ='CS'; 3、查询“CS”系学生年龄不在19到21之间的学生的学号、姓名; select Sno,Sname from S where Sdept ='CS' and Sage>19 and Sage<21; 4、找出最大年龄; select MAX (Sage)from S;

susan的博客 8571

汽车电缆选型实战:基于ISO 19642-3~12的7类电缆电压/材料/场景对照表

本文详细解析了基于ISO 19642-3~12标准的7类汽车电缆选型实战,涵盖电压等级、导体材料和场景应用的对照表。通过全参数速查表和典型选型陷阱分析,帮助工程师快速掌握从低压信号线到高压动力电缆的选型逻辑,提升新能源汽车与智能驾驶技术的安全性和可靠性。

weixin_29043895的博客 365

580. 统计各专业学生人数(SQL)

题目:https://leetcode-cn.com/problems/count-student-number-in-departments/ 一所大学有 2 个数据表,分别是student和department,这两个表保存着每个专业的学生数据和院系数据。 写一个查询语句,查询department表中每个专业的学生人数 (即使没有学生的专业也需列出)。 将你的查询结果按照学生人数降序排列。 如果有两个或两个以上专业有相同的学生数目,将这些部门按照部门名字的字典序从小到大排列。 stu...

anningne的专栏 1万+

GD32模拟IIC读写DVC1124

GD32模拟IIC读写集澈AFE芯片DVC1124

ponyma_的博客 1226

OpenClaw实现多agent协作研究

本文介绍了如何构建多agent协作系统,通过飞书机器人实现任务分配与执行。系统包含三个agent:research_leader(总调度)、research_content(内容生成)和research_review(内容审核)。详细说明了agent配置方法(包括创建命令、权限设置)、飞书channel绑定方式,以及通过共享目录和会话机制实现协作。最后展示了应用示例,用户只需向leader机器人下达任务,系统即可自动完成内容生成和审核的全流程。

hhue2007的专栏 617

SQL练习00003

一所大学有 2 个数据表,分别是 student 和 department ,这两个表保存着每个专业的学生数据和院系数据。 写一个查询语句,查询 department 表中每个专业的学生人数 (即使没有学生的专业也需列出)。 将你的查询结果按照学生人数降序排列。 如果有两个或两个以上专业有相同的学生数目,将这些部门按照部门名字的字典序从小到大排列。 student 表格如下: Column Name Type student_id Integer student_name String

qq_41885821的博客 541

AI OS与LLM as OS:人工智能操作系统的崛起

近年来,随着大语言模型(Large Language Model, LLM)技术的突飞猛进,人工智能领域掀起了新的革命浪潮。以ChatGPT、GPT-4等为代表的LLM模型展现出了惊人的自然语言理解和生成能力,使得人机交互前所未有地拟人化、情境化。在此背景下,业界开始探索将LLM作为操作系统(Operating System, OS)的可能性,由此催生出"AI OS"和"LLM as OS"的概念。本文将深入解读这两个前沿概念,分析其内涵、技术原理、应用前景及面临的挑战。

AI天才研究院 993

580. 统计各专业学生人数 - 力扣(LeetCode)

使用分组聚合,多表连接。

2301_78665414的博客 776

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【LeetCode-SQL】580. 统计各专业学生人数

目录一、题目二、解决1、left join三、参考 一、题目 表: Student +--------------+---------+ | Column Name | Type | +--------------+---------+ | student_id | int | | student_name | varchar | | gender | varchar | | dept_id | int | +--------------+---------

HeavenDan的博客 3796

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Leetcode_数据库刷题_580. 统计各专业学生人数

580题. 统计各专业学生人数 SQL架构: CREATE TABLE IF NOT EXISTS student (student_id INT,student_name VARCHAR(45), gender VARCHAR(6), dept_id INT) CREATE TABLE IF NOT EXISTS department (dept_id INT, dept_name VARCHAR(255)) Truncate table student insert into student (stud

小Y的BJ 732

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

leetcode-SQL-580. 统计各专业学生人数

leetcode-SQL-580. 统计各专业学生人数题目解题 题目 题目链接 表: Student +--------------+---------+ | Column Name | Type | +--------------+---------+ | student_id | int | | student_name | varchar | | gender | varchar | | dept_id | int | +--------------+

菊头蝙蝠的博客 947

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

建表 DROP TABLE IF EXISTS student; CREATE TABLE student ( student_id INT, student_name VARCHAR(20), gender CHAR, dept_id INT ); DROP TABLE IF EXISTS department; CREATE TABLE department ( dept_id INT, dept_name VARCHAR(20) ); INSERT INTO student VALUES(1, '..

WGS. 794

Leetcode_580_统计各专业学生人数_SQL

# Write your MySQL query statement below select d.dept_name, count(s.student_id) as student_number from department as d left join student as s on d.dept_id = s.dept_id group by d.dept_id order by student_number desc 如果直接写的话,很绕的一道题,个人比较喜欢用下面的写法,感觉更加清晰直观 w

HDUCheater的博客 356

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

SELECT dept_name, COUNT(student_id) AS student_number FROM department d LEFT JOIN student s ON d.dept_id = s.dept_id GROUP BY d.dept_name ORDER BY student_number DESC , d.dept_n...

AlphaCat的博客 2061

leetcode 580. 统计各专业学生人数

【代码】leetcode 580. 统计各专业学生人数。

garrulousabyss的博客 285

2019.12.12 leetcode SQL

580 统计各专业学生人数 SELECT dept_name, COUNT(student_id) AS student_number FROM department left OUTER JOIN student ON department.dept_id = student.dept_id GROUP BY department.dept_name OR...

weixin_44227332的博客 213

如何快速掌握MYSQL?附LeetCode上出现频率最高的50道数据库题目详解

LeetCode中有不少题是需要Plus会员才能查看并答题的,所以为避免以后会员过期无法再次查看以及加深自身对题目的理解,进行了MYSQL题目的一次大整理。 LeetCode上题目众多,而本篇筛选出了LetCode上出现频率最高的50道题目,并且按出现频率由高到低整理,每道题实现的具体方法和思路都贴在了代码注释,整理不易,希望大家能够做完这些题目或者看完这篇博客,并从中有所获。

w0714的博客 4万+

数据库SQL Server实验报告 之 SQL语言进行简单查询(3/8)

聚合函数就是对一组值进行计算并且返回单一值的函数:sum---求和,count---计数,max---最大值,avg---平均值等。查询的是选修至少两门的每个学生,然后计算每个学生的课程的信息,则对学生分组,每一个学生为一组。求每一门课程的学生平均成绩,要求输出课程名及对应的平均成绩,并按平均成绩由大到小排序。求各系中每个年龄段的学生总人数,要求结果中对系进行排序,同一个系的按年龄排序。求既不是CS系,也不是MA系的学生中年龄不小于20的学生姓名。求哪些学生的成绩为优秀,求出该学生的学号及相应的课程号。

qq_59819866的博客 4613

数据库原理及应用实验二

数据库原理及应用实验二 实验题目:用SQL语言完成基于教学管理数据库JXGL中的学生表Student、课程表Course、学生选课表SC;以及SPJ数据库中的供应商表S、零件表P、工程项目表J、供应情况表SPJ的查询: (1) 设计各种单表查询SQL语句、分组统计查询语句; (2) 设计单个表针对自身的连接查询,设计多个表的连接查询; (3) 正确分析用户查询要求,设计各种嵌套查询和集合查询; (4) 按照SQL程序设计规范写出具体的SQL查询语句,并调试通过。 (5) SQL程序设计规范包含SQL关键字大

weixin_46435614的博客 4645

【leetcode-sql】580、585、597、602

580. 统计各专业学生人数 一所大学有 2 个数据表,分别是 student 和 department ,这两个表保存着每个专业的学生数据和院系数据。 写一个查询语句,查询 department 表中每个专业的学生人数 (即使没有学生的专业也需列出)。 将你的查询结果按照学生人数降序排列。 如果有两个或两个以上专业有相同的学生数目,将这些部门按照部门名字的字典序从小到大排列。 student 表格如下: | Column Name | Type | |--------------|------

weixin_37875391的博客 420
上一篇: LeetCode-579. 查询员工的累计薪水(困难)用户变量
下一篇: LeetCode-585. 2016年的投资,exists
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值