帝王血统的蚂蚱
帝王血统的蚂蚱
全部文章
题解
归档
标签
去牛客网
登录
/
注册
帝王血统的蚂蚱的博客
全部文章
/ 题解
(共93篇)
题解 | #牛客的课程订单分析(六)#
首先还是新建个表temp来存条件筛选之后的原表并加上根据user_id分组后每组的count。 然后将temp和client用left join连接,并限制每组count大于等于2.然后用if判断client_id是否为0,client_id=0说明is_group_buy=Yes,这种情况下cli...
Mysql
2021-11-01
0
341
题解 | #牛客的课程订单分析(五)#
首先建个新表temp把条件限制后的原表存下来,并用rwo_number()和count()搭配窗口函数根据user_id分组来增加组内排序ranking和每组总数量cnt。ranking根据时间对每个user买课记录进行排序标号,cnt是统计一个user总共有多少条符合标准的买课记录。 with t...
Mysql
2021-11-01
0
355
题解 | #牛客的课程订单分析(四)#
在子查询中用count()和min()搭配窗口函数算出根据user_id分组后每组的数量和最早日期。并按照题目要求限制字段。然后从子查询结果中选出所需字段并限制每组数量cnt>=2。 select distinct t.user_id, t.first_buy_day, t.cnt from ...
Mysql
2021-10-31
0
327
题解 | #牛客的课程订单分析(三)#
在子查询里按题目要求限制字段并增加一个根据user_id分组的count字段。然后从子查询里获取所需字段并限制count大于等于2. select t.id, t.user_id, t.product_name, t.status, t.client_id, t.date from...
Mysql
2021-10-31
0
271
题解 | #牛客的课程订单分析(二)#
按照题目要求限制字段,然后按照user_id分组,限制每组数量大于等于2,最后根据user_id排序 select user_id from order_info where (product_name = "Java" or product_name = "Python" or product_n...
Mysql
2021-10-31
0
288
题解 | #牛客的课程订单分析(一)#
很直接的选全部字段,然后按题目要求限制条件并排序 select * from order_info where date > "2025-10-15" and status = "completed" and (product_name = "C++" or product_name = "J...
Mysql
2021-10-31
0
281
题解 | #考试分数(五)#
1.首先用一个子查询选出需要的字段并用row_number根据job分组标记排序,然后用另一个子查询根据job分组统计每组总量,然后连接两表。用floor和ceil从总量算出中位数并限制排序值为中位数,最后根据id排序。这里用两个单独的子查询来获取排序编号和每组数量是因为我忘记count()也可以开...
Mysql
2021-10-31
0
334
题解 | #考试分数(四)#
1.第一遍写的时候整太麻烦了,先是子查询取了job和count,然后再在子查询的基础上通过if判断奇偶数并分别求中位数,并用cast把小数转成整数。这里还踩了个大坑,cast没有int这个datatype,这里int是signed或者unsigned。太麻烦太麻烦了 select temp.job,...
Mysql
2021-10-31
0
347
题解 | #考试分数(三)#
子查询中连接grade和language两个表并用dense_rank()对score从大到小排序并将排名列为一个新字段ranking。然后从子查询中选出id, name, score并限制ranking不大于2,最后根据题目要求进行排序。 select temp.id, temp.name, te...
Mysql
2021-10-31
0
313
题解 | #考试分数(二)#
用子查询根据job分组并选出每组平均值,通过job连接子查询和原表grade,这样就能在原表基础上每行增加当前job的平均分。然后在where里限制分数大于平均值并最后排一下序就好了 select g.id, g.job, g.score from grade as g, (select job,...
Mysql
2021-10-30
0
268
首页
上一页
1
2
3
4
5
6
7
8
9
10
下一页
末页