1.排序。
此处说的排序主要指使用窗口函数中的排序,分别为dense_rank() over(partition by ... order by ...),rank() over(partition by ... order by ...), row_number() over(partition by ... order by ...),并非order by。
有的题目本身就是为了得到排序结果,这样就比较简单,包括1.部门工资前三高的所有员工、8.获取最近第二次的活动、14.市场分析 II、15.锦标赛优胜者;而有些题目则可以通过排序,找出中间态进而得到答案,包括3.员工薪水中位数、11.学生地理信息报告、19.同一天的第一个电话和最后一个电话。总体来说,使用窗口函数排序,可复杂问题简单化。
2.创建聚合键
当题目中并没有明确的聚合键时,就要再自己创建了。便可以使用窗口函数中的排序来完成,其实和上边的类型是一样的,只不过这种方法很巧妙故单独来出来。包括5.体育馆的人流量、7.报告系统状态的连续日期