leetcode580. 统计各专业学生人数(SQL)
一所大学有 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 |
思路:嵌套查询出每一个专业学习人数,然后排序。
select a.dept_name as 'dept_name',(select count(*) from student as b where b.dept_id=a.dept_id) as 'student_number'
from department as a
order by student_number desc,dept_name;
相关文章
- 白话空间统计之四:P值和Z值(上):零如果
- Mysql-SQL优化-统计某种类型的个数
- 基于ACCESS和ASP的SQL多个表查询与计算统计代码(一)
- Sql Server 给表添加合计并统计金额的存储过程!(源代码分享)
- 基于matlab频率估计算法对比,包括统计M.Westlund算法,BTDT,CZT,ZOOM-FFT 等的
- 机器学习笔记之指数族分布——充分统计量与模型参数的关系
- 实战 | 如何用 Python 统计 Jira 数据并可视化
- redis性能监控(一): Redis Info 命令 - 获取 Redis 服务器的各种信息和统计数值
- 《统计会犯错——如何避免数据分析中的统计陷阱》—参考文献
- 《Storm实时数据处理》一2.6 统计与持久化日志统计信息
- 巧用HashMap一行代码统计单词出现次数
- Java利用正则表达式统计某个字符串出现的次数
- SQL Server 监控统计阻塞脚本信息
- 【基本优化实践】【1.7】sql server统计信息优化
- sql server 统计信息
- Solr实现SQL的查询与统计--转载
- SQL SERVER的统计信息
- CAD怎么快速统计块数量?教你用手机快速统计CAD图块数量!