嗯,看来我自己的毅力确实不怎么样,上次的文章竟然是2020年的事情了,一转眼时光荏苒,然而我自己的技术还是没啥长进,哈哈哈哈哈哈哈哈。
好了可以了,收声,开始写点东西。
https://blog.csdn.net/weixin_42870739/article/details/104906081?spm=1001.2014.3001.5501
上述这个链接是我之前写的,关于sql连续问题的求解。这段时间我突然想到,这个问题会有更优雅的解决方式。上次那篇文章好想有一个修修的错误,以及多余的一个步骤···(你说你们为什么不给我指正呢?)
在工作中,或者一些其他的场景,我们可能会遇见,需要求连续天数的问题:例如,想要知道,一堆销售员中,连续五个月(十个月?一个月?随便啦)销售额都超过100万元的销售员;想知道,有哪些用户连续登录了N天;有哪些页面连续M天访问数大于X···等等等等。
要是天数少,那还简单。举个例子,三天。那就是我们现筛选符合条件的记录,就是select ··· where (在where放你的条件,例如金额大于50万,例如是否登陆为true)。在这之后呢,一个解法是,自关联,关联条件其中一条是T天,然后等于T+1天,然后等于T+2天···这样做其实也可以解题,但是很挫,扩展性非常不好,人家要是问你连续登录100天,你总不能left join一百次吧···