先来看应用场景吧 就是页面上有个top按钮 根据不同的top 进行筛选 比如我选择top5 那么在下方当前大区的销售额降序筛选出来最高的前五个销售员or客户这种场景
问题1:为什么我的这个rank排序函数 这个华南大区 不是从1开始的呢
其他大区都是正常的 都是从1开始排序的
1-其实一开始自己偷懒 就把三个排序函数都试一下 属于是没思路下尝试的
2-然后发现方法1-不行 自己开始重新看这个函数的介绍
参考自己之前写的关于这个函数的认识
其中 在Rank()函数的详细作用中 我是这么记录的
`结果集中如果出现两个相同的数据,那么rank会进行跳跃式的排名,比如两个第二,那么没有第三接下来就是第四`
然后 就捕捉到一个敏感词 跳跃式 好的 我大概明白了 tops列的排序 华南大区之所以从4开始 大概率就是因为跳跃了 所以 我回到SQL 把where条件去掉 查看所有的数据 直到看到这样的数据 我明白了 left join 表 有部分空数据 但是这部分的null数据 也有排名的
最终我把null数据的筛选提前筛选掉 这样就不会影响我的tops列了
最后 最想跟大家分享的就是 遇到问题 真的真的不要着急 相信自己 慢慢从基础 从理论 从细心开始慢慢排查 自己以后写文章 也会尽量代入客户需求场景 以及思路解决 因为自己也深刻意识到 文章写的很多 就像文章提到的之前的函数介绍博客一样 会写 会用 不理解 短时间记忆时间长又忘了 或者理解不深刻 都可能是因为没有场景需求就很难深刻记忆,思路思路思路