所以,有什么理由不写一手流畅而又高性能的sql语句呢?有什么理由不学习一个呢?
题解 | 描述 | 难度 |
---|---|---|
0577-员工奖金 | 特判NULL | 简单 |
0584-寻找用户推荐人 | left join + 特判NULL | 简单 |
586-订单最多的客户 | group by + order by + count() 求订单最多的人 | 简单 |
0607-销售员 | 子查询:查询和RED公司没有交易的人 | 简单 |
0610-判断三角形 | 使用case when 判断三角形,并给每一行增加yes或no输出 | 简单 |
0511-游戏玩法分析I | min + group by 从一张用户不同日期的登录表中求出不同用户第一次登录的时间 | 简单 |
0512-游戏玩法分析II | 多字段子查询 + min + group 从一张用户不同日期的登录表中求出不同用户第一次登录的设备 | 简单 |
0619-只出现一次的最大数字 | ifnull + group by + having 求只出现一次且最大的数字 | 简单 |
1050-合作过至少三次的演员和导演 | group by + having 求二元组出现过3次以上的行记录 | 简单 |
1068-产品销售分析I | inner join | 简单 |
1069-产品销售分析II | group by | 简单 |
1075-项目员工I | inner join + group by + avg() + round()求每个项目员工的平均工作年龄 | 简单 |
1113-报告的记录 | distinct + group by | 简单 |
1083-销售分析III | with + inner join 求仅在春季销售的商品 | 简单 |
1141-查询近30天活跃用户数 | datediff 查询某天及前30天的数据 | 简单 |
1148-文章浏览I | 最水的题目 | 简单 |
1173-即时食物配送I | 求要求当天送达的订单占总量的百分比 | 简单 |
1303-求团队人数 | 求每个员工所在团队人数 | 简单 |
1294-不同国家的天气类型 | case when + avg 求平均气温然后转换为文字说明 | 简单 |
1241-每个帖子的评论数 | 去重+left join + sum(布尔表达式) | 简单 |
1280-学生们参加各科测试的次数 | join + left join + count求每个学生参加各科考试的次数 | 简单 |
1251-平均售价 | 求商品的平均售价 | 简单 |
1142-过去30天的用户活动II | 简单 | |
1211-查询结果的质量和占比 | avg + count + sum + round | 简单 |
题解 | 描述 | 难度 |
---|---|---|
0184-部门工资最高的员工 | in操作符的使用 | 中等 |
0597-好友申请I_总体通过率 | distinct + round() + ifnull() 求通过率 | 中等 |
0603-连续空余座位 | distinct + self join + abs() 求连续的空座位 | 中等 |
0613-直线上的最近距离 | row_number()、min()、abs()求点表中两个点之间的最小距离 | 中等 |
1076-项目员工II | group by + having + count() 求所有拥有最多员工的项目 | 中等 |
1082-销售分析I | sum() + rank()求销售额并列第一的所有seller | 中等 |
1083-销售分析II | with + group by + having + count() + if() 求买了S8但没买IPhone的人 | 中等 |
0574-当选者 | group by + count求最高分的人 | 中等 |
题解 | 描述 | 难度 |
---|---|---|
1194-锦标赛优胜者 | union all 求每个小组的最高分 | 困难 |
0569-员工薪水中位数 | row_number() + count() 求每个公司的薪资中位数 | 困难 |