Ding_123
Ding_123
全部文章
题解
归档
标签
去牛客网
登录
/
注册
Ding
全部文章
/ 题解
(共84篇)
题解 | #实习广场投递简历分析(二)#
知识点 首先把原表的日期转换一下,%Y年4位,%m月 date_format(date,format) date参数是合法的日期。format规定日期/时间的输出格式 2025年也可以写成date like '2025%' 按照岗位和日期分组,最后求和 代码 select job, dat...
Mysql
2021-12-09
1
455
题解 | #实习广场投递简历分析(一)#
知识点 2025年可以是date小小于2026-01-01'可以是year(date) = 2025' 统计数量就是先按照岗位分组再用求和 代码 select job, sum(num) as cnt from resume_info where date < '2026-01-01' ...
Mysql
2021-12-09
1
276
题解 | #牛客的课程订单分析(七)#
知识点 窗口函数建立新表,主要是筛选出订单数量大于等于2的记录 左连接客户端表,使用ifnull函数,如果有客户端名称就取出现null值就是groupby,按照source进行分组,最后计数客户端出现次数 代码 select ifnull(c.name, 'GroupBuy') as sourc...
Mysql
2021-12-09
10
541
题解 | #牛客的课程订单分析(六)#
知识点 窗口函数和之前一样的 因为客户端id可能没有出现null值所以连接时用左连接连接client表 代码 select t.id, t.is_group_buy, c.name as client_name from ( select id, is_group_buy, client...
Mysql
2021-12-09
1
443
题解 | #牛客的课程订单分析(五)#
知识点 窗口函数表格和之前一样写,因为之后有日期可能同一天买不同的课所以这里使用dense_rank,然后把新表按照id进行排序 第一天第二天或者以此类推,使用case when,第一天就是r=1对应的日期没有符合条件的就是0,取结果的最大值 代码 select a.user_id, max(...
Mysql
2021-12-09
4
502
题解 | #牛客的课程订单分析(四)#
知识点 和上一题一样先把表全部按照条件筛选完,然后按照时间正序row_number排序一下,再加上一列计数列用count窗口函数写 第一次购买时间就是排序1,次数大于等于2 代码 select user_id, date as first_buy_date, cnt from (s...
Mysql
2021-12-08
5
392
题解 | #牛客的课程订单分析(三)#
知识点 和上一题一样加上一行计数的列统计筛选条件后进行计数 最后表格筛选条件就是计数大于等于的行 代码 select g.id, g.user_id, g.product_name, g.status, g.client_id, g.date from ( select *, cou...
Mysql
2021-12-08
1
319
题解 | #牛客的课程订单分析(二)#
知识点 还上题一样先筛选条件都一样的 分组按照user_id,之后用having进行筛选计数大于等于2的符合 代码 select user_id from order_info where date > '2025-10-15' and product_name in ('C++', '...
Mysql
2021-12-08
1
396
题解 | #牛客的课程订单分析(一)#
知识点 这题就是筛选条件满足就行 代码 select * from order_info where date > '2025-10-15' and product_name in ('C++','Java','Python') and status = 'completed' order...
Mysql
2021-12-08
1
315
题解 | #考试分数(五)#
知识点 首先原表上加一列排名,因为要的是中位数只会有一个或者两个所以窗口函数排序使用row_number,题目要求是最大的是第一所以order by 使用降序排序。 再加上各岗位的中位数列,因为中位数有一个或两个所以需要两列。floor()向下取整,ceiling()向上取整 中位数就是排名在两个...
Mysql
2021-12-08
1
304
首页
上一页
1
2
3
4
5
6
7
8
9
下一页
末页