leetcode580. 统计各专业学生人数(SQL)
一所大學(xué)有 2 個(gè)數(shù)據(jù)表,分別是?student?和?department?,這兩個(gè)表保存著每個(gè)專(zhuān)業(yè)的學(xué)生數(shù)據(jù)和院系數(shù)據(jù)。
寫(xiě)一個(gè)查詢(xún)語(yǔ)句,查詢(xún)?department?表中每個(gè)專(zhuān)業(yè)的學(xué)生人數(shù) (即使沒(méi)有學(xué)生的專(zhuān)業(yè)也需列出)。
將你的查詢(xún)結(jié)果按照學(xué)生人數(shù)降序排列。 如果有兩個(gè)或兩個(gè)以上專(zhuān)業(yè)有相同的學(xué)生數(shù)目,將這些部門(mén)按照部門(mén)名字的字典序從小到大排列。
student 表格如下:
| Column Name ?| Type ? ? ?|
|--------------|-----------|
| student_id ? | Integer ? |
| student_name | String ? ?|
| gender ? ? ? | Character |
| dept_id ? ? ?| Integer ? |
其中, student_id 是學(xué)生的學(xué)號(hào), student_name 是學(xué)生的姓名, gender 是學(xué)生的性別, dept_id 是學(xué)生所屬專(zhuān)業(yè)的專(zhuān)業(yè)編號(hào)。
department 表格如下:
| Column Name | Type ? ?|
|-------------|---------|
| dept_id ? ? | Integer |
| dept_name ? | String ?|
dept_id 是專(zhuān)業(yè)編號(hào), dept_name 是專(zhuān)業(yè)名字。
這里是一個(gè)示例輸入:
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 ? ? ? ? ? ? ?|
思路:嵌套查詢(xún)出每一個(gè)專(zhuān)業(yè)學(xué)習(xí)人數(shù),然后排序。
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;?
總結(jié)
以上是生活随笔為你收集整理的leetcode580. 统计各专业学生人数(SQL)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据安全概念利好哪些股票,数据安全行业十
- 下一篇: 银行卖出价和买入价的区别 汇率不同