SQL278 实习广场投递简历分析(一)
题目描述
在牛客实习广场有很多公司开放职位给同学们投递,同学投递完就会把简历信息存到数据库里。
现在有简历信息表(resume_info),部分信息简况如下:
id | job | date | num |
---|---|---|---|
1 | C++ | 2025-01-02 | 53 |
2 | Python | 2025-01-02 | 23 |
3 | Java | 2025-01-02 | 12 |
4 | Java | 2025-02-03 | 24 |
5 | C++ | 2025-02-03 | 23 |
6 | Python | 2025-02-03 | 34 |
7 | Python | 2025-03-04 | 54 |
8 | C++ | 2025-03-04 | 65 |
9 | Java | 2025-03-04 | 92 |
10 | Java | 2026-01-04 | 230 |
第1行表示,在2025年1月2号,C++岗位收到了53封简历
。。。
最后1行表示,在2026年1月4号,Java岗位收到了230封简历
请你写出SQL语句查询在2025年内投递简历的岗位和数量,并且按数量降序排序,以上例子查询结果如下:
job | cnt |
---|---|
C++ | 141 |
Java | 128 |
Python | 111 |
SQL Schema
sql
drop table if exists resume_info;
CREATE TABLE resume_info (
id int(4) NOT NULL,
job varchar(64) NOT NULL,
date date NOT NULL,
num int(11) NOT NULL,
PRIMARY KEY (id));
INSERT INTO resume_info VALUES
(1,'C++','2025-01-02',53),
(2,'Python','2025-01-02',23),
(3,'Java','2025-01-02',12),
(4,'Java','2025-02-03',24),
(5,'C++','2025-02-03',23),
(6,'Python','2025-02-03',34),
(7,'Python','2025-03-04',54),
(8,'C++','2025-03-04',65),
(9,'Java','2025-03-04',92),
(10,'Java','2026-01-04',230);
答案
sql
SELECT job, SUM(num) AS `cnt`
FROM resume_info
WHERE YEAR(date) = 2025
GROUP BY job
ORDER BY cnt DESC;