首页 > 试题广场 >

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

[编程题]实习广场投递简历分析(一)
  • 热度指数:59979 时间限制: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 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
示例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,'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);

输出

C++|141
Java|128
Python|111
select  distinct job,sum(num) as cnt from resume_info
where date like "2025%"
group by job
order by cnt desc;
发表于 2022-08-07 13:10:13 回复(0)
# 思路  
1.查询2025年的数据,则使用year(date) 函数
2.对Job进行分组,然后sum数量
3.对数量倒序排序
select job, sum(num) as sl
from resume_info
where year(date) = '2025'
group by job
order by sl desc


发表于 2022-04-20 14:20:53 回复(0)
select job, sum(num) as cnt
from resume_info
where year(date)= '2025'
group by job
order by cnt desc;
发表于 2021-06-01 15:53:00 回复(0)
#1.先把原表按照日期筛选,date在2025-01-01和2025-12-31之间
/*select job,sum(num) as cnt
from (select * from resume_info 
      where date>='2025-01-01' and date<='2025-12-31') t1
group by job
order by cnt desc;
*/
#2.直接利用时间函数,year(date)限制2025年
select job,sum(num) as cnt
from resume_info 
where year(date)='2025'
group by job
order by cnt desc;
发表于 2021-04-21 19:37:55 回复(0)
先通过时间限制可以写出:
select * from resume_info where date  >'2025-01-01' and date <'2025-12-31'
然后需要通过获取投递简历的岗位和数量,那么就按岗位job分组,然后使用聚合sum函数求出某个岗位的投递简历的数量,如下:
select job,sum(num) as cnt from resume_info 
where date  >'2025-01-01' and date <'2025-12-31' 
group by job order by cnt desc;



发表于 2021-03-05 16:41:13 回复(0)
筛选出2025年即可,可以使用
like '2025%'
或
year(date) = 2025
或
between '2025-01-01' and '2025-12-31'
或
date >= '2025-01-01' and date <= '2025-12-31'


发表于 2021-03-10 17:52:01 回复(1)
考点:sum() 求和函数、mysql中求年份YEAR()
select job, sum(num) cnt
from resume_info
where YEAR(date) = '2025'
group by job
order by cnt desc


发表于 2021-04-10 14:49:21 回复(1)
-- group by job
-- where year()筛选2025年内的
select job, sum(num) as cnt
  from resume_info
 where year(date) = 2025
 group by job
 order by cnt desc;
发表于 2021-03-08 17:03:58 回复(2)
select job, sum(num) cnt
from resume_info
where year(date) = 2025
group by job
order by cnt desc;
今日第一题!
编辑于 2021-03-06 16:52:56 回复(1)
SELECT job, SUM(num) AS cnt
FROM resume_info
WHERE Year(date) = 2025
GROUP BY job
ORDER BY cnt desc;
发表于 2021-03-31 20:29:25 回复(0)
select
job
,sum(num) cnt
from resume_info
where date between '2025-01-01' and '2025-12-31'
group by 1
order by 2 desc
发表于 2024-04-16 16:01:00 回复(0)
select job,sum(num) as cnt
from resume_info
where date >= '2025-01-01' and date <= '2025-12-31'
group by job
order by cnt desc;

发表于 2024-04-12 09:22:12 回复(0)
select job,sum(num) cnt
from resume_info
where Left(`date` ,4) = '2025'
group by job
order by cnt desc
发表于 2024-03-25 15:12:38 回复(0)
SELECT job, SUM(num) as cnt
FROM resume_info
WHERE year(`date`)=2025
GROUP BY job
ORDER BY cnt DESC

发表于 2024-03-07 10:22:15 回复(0)
select job ,
sum(num) as cnt
from
(select *
from resume_info
where date between '2025-01-01' and '2025-12-31') t1
group by job
order by cnt desc
发表于 2024-03-04 21:52:21 回复(0)
select job,sum(num) cnt from resume_info
where date like '2025-%'
group by job
order by cnt desc;

编辑于 2024-02-05 14:10:55 回复(0)
select job, sum(num) as cnt
from resume_info
where year(date) = '2025'
group by job
order by sum(num) desc;
编辑于 2024-01-22 21:45:53 回复(0)
select 
    job,
    sum(num) as cnt
from resume_info
where date between '2025-01-01' and '2025-12-31'
group by job
order by sum(num) desc


so easy
发表于 2023-11-26 20:20:29 回复(0)
select
    job,
    sum(num) cnt
from
    resume_info
where
    year (date) = '2025'
group by
    job
order by
    cnt desc

发表于 2023-11-05 22:28:15 回复(0)
select job, sum(num) cnt
from resume_info
where year(date)='2025'
group by job 
order by cnt desc

发表于 2023-09-06 17:09:18 回复(0)