00:00
好,那这边呢,我们就还用刚才这个数据吧,还用这个数据啊,CTRLC再往下走,再讲一种思路。CTRLV,那看这啊,那这个思路呢,咱们就呃,后边呢就没有了。空格一下啊。诶,他跑那儿去了啊这个。行吧,我这个一点一点删吧。这块我就不要了,这个也不要了。这也不要。这有没有?好,这还是咱们那个原始数据,对不对,还是原始数据,那这回我们的思路是什么呢?这回咱思路是这样的啊,大家想一想,呃,我们要求的什么呀,我们要求的是那些就是连续,所谓的连续,什么叫连续,是不是一般情况下大家可以这么去想,我上一行跟下一行挨着,我连着。是不是就是就是所谓的连续啊。对不对,哎,这这应该是大家很容易想到这种思路,那也就是说我们这块呢,是不是可能会涉及到什么呀,就是说我某一行,呃,跟他跟谁跟他下边那一行,或者下边两行去进行比较。
01:11
对不对,如果比较满足我的要求,那OK,我就可以是不是认定你是一个所谓的一个连续的呀,对不对,连续连续就得上下上下行进行比较,是不是才能找到一个连续呀,这其实我们应该就是我们正常的思维能够想到的东西,对不对,那咱们能不能就是说把某一行的数据去跟他下一行或者是下两行去进行比较呢?有没有这样的这个这个思路呢,能不能去比,这能不能比。能不能比,肯定是能吧,咱们在学这个have的时候,有一个开容函数应该叫做lead,或者叫做leg,对不对?那这俩函数它的作用是什么?它的作用是不是就是去诶和上边某一行或者跟下边某一行去进行比较啊。对不对,那这边咱们就应该会用到这样的东西,被讲过了是吧,开窗哎,对,就是这样的啊,那这边呢,咱们往下走一下啊,呃,那怎么去比,咱们用lead或者赖函数,那这边咱们应该怎么去比呢?我们思路是这样的啊,大家想一想,咱可以这么去做,我们因为要求的是什么?要求的是最近七天内连续三天的这种。
02:15
嗯,这种对不对,那你可以怎么做呢?我可以这么去做。咱们开装的时候呢,呃,首先也是需要进行这个排序的,对不对,也是需要进行分组的,那分组还是按照mid分组那排序呢?呃,还是按照这个,呃日期进行排序,还是按照日期进行排序啊,那完了之后呢,我怎么办?我只需要这么去做一下就行了,我只需要让每一行都和它下边两行去比一下就行了。这是它下边一行,这是它下边第二行,对不对?只需要让这俩去比一下就行,怎么比,如果说我下边两行的这个日期减去上边这一行的日期,如果说等于二。如果等于二,那就说明这三条数据它肯定是连续的。
03:03
你在这儿好好想一想啊。看看能不能想明白。这肯定的吧,因为如果说它等于它,它因为因为我们比的是什么,比的是这一行,它下边两行,那中间是不是肯定是有一行啊,中间肯定有一行,那OK,如果说下边两行减这一行,如果说等于二,这个这个天数相差是二,那OK,那就说明我这肯定是连续的,为什么呢?因为中间这行啊,它跟上下的日期肯定都不相等,而且我们还是有序的,从从小到大是有序的。对不对,那所以说它只能是连续的,才会出现这样的现象,才出现这样的现象啊,那所以说我们只要找到一个这样的差值等于二的,那这个设备它是不是就是,诶曾经有过这种连续活跃的记录啊,那有OK,我就把它算作一个连续活跃的记录。思路就是这样的,是这样的,那具体怎么去实现呢?你可以这么做,可以在这呢,我们加一个lead的,加一个lead的啊,那lead的函数,Lead的函数是不是就是去比它下几行啊下几行,那比的时候这个这个力的函数需要传三个参,第一个参,呃是呃写那个你要看的那个字段,比如说咱们这DT字段,那后边第二个三呢,是这个,呃下边几行,比如下边两行,那后边还有一个东西,还有一个叫做默认值的东西啊,就是说呃,如果说我到了这个位置,那它下边两行是没了呀,没了之后我需要给它附一个默认值,附一个默认值,那默认值呢,我们就附一个这个,诶,比如说9999。
04:24
可能9999呢,可能这个不太合适啊,咱们拿一个1970吧,到一个肯定到不了的日期,1970杠,比如说这个零幺杠零幺,诶比如说这是我们的一个这样的一个日期,好,那接下来你得到的效果就是什么样的呢?得到效果就是这样的了。这边呃,它下两行是不应该是13啊对不对,CTRLC,那你放在这个位置CTRLV,那呃,它下两行应该是这个15CTRLC。空格。CTRLV,那这个再往下CTRLC,呃,13的下两行呢,应该是诶16,那16的下两行呢,应该是这个,呃呃,15的下列行是谁啊?15的下行应该是17对不对?那16的下两行没有了没有是谁没有是不是这个默认值啊,就是它俩CTRLC。
05:13
回撤空格,空格CTRL为,那同理下边这个17行,这个17这一行它下边也没有了,也是它对不对,那咱这边怎么去做呢?我们接下来呢,再往后我们这儿呢,做一个这个差,这回做差呢,是用谁是用两个日期进行进行这个呃差值,呃用它去减去差,那两个日期之间相减,我们应该用到什么函数呢?两个日期用什么函数啊,日期是不是有一个date date Di函数啊嗯。Dif有一个date Di函数,那这个函数里边呢,我们需要去传进去两个参数,两个参数一个是我们后两行的日期,一个是呢,我们这个这行的日期,呃,让他们两个去做一个除这个减法,做个减法,那结果呢,我们看看这个结果应是什么样的,那它是多少?这个地方是不是应该是二啊对不对,那CTRLC往下走,那它呢也是二,CTRLV也是二,那再往下呢,这块呢,它就不是二了,也不是二了,那不是二我就不写了,那这个位置呢,它是不是也是二啊对不对,那这样一来我是不是也能把这个mid给它找出来呀,你给它找出来,那咱们找的时候过滤条件是什么?过滤条件就是说只要date塔D等于二。
06:22
只要代D等于二,那我就把这一行数据给它过滤出来。只要等于二就过滤出来,那过滤出来之后你得到的效果是怎么样的呢?你得到的效果就是诶,我同一个设备有可能会被过滤出来多行。对不对,那我们要做的是什么呢?仍然是需要对mid去一个冲,仍然去一个冲,那去完中之后再进行count,结果就是跟前面一样了,那这个就是呃,咱们这的一个思路。那这个思路呢,大家可以自己去实现一下,我就不再写这个S了啊,好把这个视频录一下。
我来说两句