首页 > 试题广场 >

实习广场投递简历分析(二)

[编程题]实习广场投递简历分析(二)
  • 热度指数:60434 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
在牛客实习广场有很多公司开放职位给同学们投递,同学投递完就会把简历信息存到数据库里。
现在有简历信息表(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 C++ 2025-01-03
54
5 Python
2025-01-03
43
6 Java
2025-01-03
41
7 Java
2025-02-03
24
8 C++
2025-02-03
23
9 Python
2025-02-03 34
10 Java
2025-02-04
42
11
C++
2025-02-04
45
12 Python
2025-02-04
59
13
Python
2025-03-04
54
14 C++
2025-03-04
65
15 Java
2025-03-04
92
16 Python
2025-03-05
34
17 C++
2025-03-05
34
18 Java
2025-03-05
34
19 Python
2026-01-04
230
20 C++
2026-02-06 231
第1行表示,在2025年1月2号,C++岗位收到了53封简历
。。。
最后1行表示,在2026年2月6号,C++岗位收到了231封简历

请你写出SQL语句查询在2025年内投递简历的每个岗位,每一个月内收到简历的数量,并且按先按月份降序排序,再按简历数目降序排序,以上例子查询结果如下:
job mon cnt
Java 2025-03 126
C++ 2025-03 99
Python 2025-03
88
Python 2025-02 93
C++
2025-02
68
Java
2025-02 66
C++
2025-01 107
Python
2025-01 66
Java
2025-01 53
示例1

输入

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,'C++','2025-01-03',54),
(5,'Python','2025-01-03',43),
(6,'Java','2025-01-03',41),
(7,'Java','2025-02-03',24),
(8,'C++','2025-02-03',23),
(9,'Python','2025-02-03',34),
(10,'Java','2025-02-04',42),
(11,'C++','2025-02-04',45),
(12,'Python','2025-02-04',59),
(13,'Python','2025-03-04',54),
(14,'C++','2025-03-04',65),
(15,'Java','2025-03-04',92),
(16,'Python','2025-03-05',34),
(17,'C++','2025-03-05',34),
(18,'Java','2025-03-05',34),
(19,'Python','2026-01-04',230),
(20,'C++','2026-02-06',231);

输出

Java|2025-03|126
C++|2025-03|99
Python|2025-03|88
Python|2025-02|93
C++|2025-02|68
Java|2025-02|66
C++|2025-01|107
Python|2025-01|66
Java|2025-01|53
头像 码尚行动
发表于 2021-03-05 22:08:28
日期函数格式转换 DATE_FORMAT(date,format) DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。 date 参数是合法的日期。format 规定日期/时间的输出格式。 可以使用的格式有: 常用格式 对应描述 %Y --年,4 位 %m --月, 展开全文
头像 不是江小白
发表于 2021-05-11 13:45:10
这题题目不难,但是有两个细节要注意!!! 筛选日期条件是 2025年以内,不同语言对这一条件的写法不同! MySQL可以直接用YEAR函数如下: YEAR(date) = 2025但是sqlite就不可以,不过sqlite有以下几种写法:第一种用LIKE匹配: date LIKE '2025%' 展开全文
头像 SunburstRun
发表于 2021-03-05 16:47:10
通过(一) https://blog.nowcoder.net/n/9cea00e9be1a4b62934ca65067a0c9b7 ,我们可以写出: select job,sum(num) as cnt from r 展开全文
头像 小王96
发表于 2021-04-26 16:01:05
通过字符串截取函数substr()解决问题 select job,substr(date,1,7) as mon,sum(num) as cnt from resume_info where substr(date,1,4)='2025' group by job,mon order by mon 展开全文
头像 高质量搬砖人
发表于 2021-04-03 09:35:09
新增条件:- 每一个月内收到简历的数量- 先按月份降序排序- 再按简历数目降序排序 select job, DATE_FORMAT(date, '%Y-%m') as mon, sum(num)cnt from resume_info where date < '2026-01-01'and 展开全文
头像 此用户名涉嫌违规
发表于 2021-03-23 09:57:36
题目描述:SQL语句查询在2025年内投递简历的每个岗位,每一个月内收到简历的数量,并且按先按月份降序排序,再按简历数目降序排序。 select job, date_format(date,"%Y-%m") as mon, sum(num) as cnt from re 展开全文
头像 jiang_dr
发表于 2021-11-23 09:27:43
思路:时间条件 + 月份分组 + 每月分组数量 + 两个排序 本题需要使用到几个常用的函数 DATE_FORMAT(date, format):按表达式format的要求显示日期date f的表达式如 '%Y-%m-%d %r' 是 2025-11-11 11:11:11 AM。'%Y-%m' 展开全文
头像 牛客372549748号
发表于 2024-08-28 09:35:02
注意1. 由2025-01-02转变成2025-02按每一个月来计算简历数量,这里就要转换date为年月的日期格式。#用DATE_FORMAT(date,format) 。format 常用的几种格式:%Y年,%m月DATE_FORMAT(date,'%Y-%m')#sqlite里面则要用str 展开全文
头像 想到就去做
发表于 2021-08-28 16:41:12
select job,left(date,7) as mon, sum(num) as cntfrom resume_infowhere left(date,4) = '2025'group by job,monorder by mon desc,cnt desc;
头像 在走神的马来熊
发表于 2024-06-16 22:49:42
select job,m,sum(num) from ( select *,left(date,7) m from resume_info ) t where year(date)='2025' group by job,m order by m desc,sum(num) desc;