首页
学习
活动
专区
圈层
工具
发布

抖音面试题:送你一个万能模板,要吗?

窗口函数 窗口函数lead使用方法: image.png 默认值是指:当向上N行或者向下N行值时,如果已经超出了表行和列的范围时,会将这个默认值作为函数的返回值,若没有指定默认值,则返回Null。...我们可以先用窗口函数lead获取“用户当月下一个登陆日期”: image.png image.png 当“日期”是该用户在当月最后一天登陆时,记录为“当月最后登陆日期”,如果不进行设置,将会返回Null...子查询 image.png 用户每次连续登陆天数与用户登陆顺序存在某种必然的关系,此时我们可以先用子查询将用户在本月的阅读顺序查询出来,使用窗口函数row_number: image.png image.png...汇总分析 最后获取“每个月,每个用户连续登陆的最多天数”,使用group by函数。...image.png 推荐:从零学会SQL?

1.2K00

逾期天数怎么统计?

本文目录 逾期天数的定义 逾期天数的计算逻辑 2.1 曾经逾期天数维度 2.2 当前逾期天数维度 2.3 曾经逾期天数和当前逾期天数统计的区别 一、逾期天数的定义 逾期指的是客户未能在应还款日全额偿还当月应还款额...比如客户虽然在过去逾期了,但是过了几天已经还款,到观测时点已无当前逾期。则该客户存在历史逾期,无当前逾期。...逾期天数的统计也分为曾经逾期天数和当前逾期天数。 接下来进行详细的说明。 二、逾期天数的计算逻辑 为了让大家对于逾期天数的统计更加清晰,接下来采用画图的方法进行阐述。...当前逾期天数=观察日-应还日 3 曾经逾期天数和当前逾期天数统计的区别 从上面的分析可以看出只有在应还日<观察日,观察日已结清且结清日期在观察日之前这种情况下曾经逾期天数和当前逾期天数有区别。...曾经逾期天数=结清日期-应还日,但是当前逾期天数=0。 对于其它几种情况,两种计算逾期天数的口径是一致的,写成对应SQL时注意一下就可以了。

1.8K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C++类和对象 练习小项目---日期类的实现.

    Date d2(d1);//使用已存在的对象去初始化另一个对象,被称为拷贝构造 定义: //Date.cpp // 拷贝构造函数 Date::Date(const Date& d) { _year =..._day; } 注意使用引用传参. 二、获取天数 放在以前,牛牛实现获取天数的函数可能会用一个很长的Switch case语句,然后返回每一个天数的时间....-= GetMonthDay(_year, _month);//通过调用GetMonthDay函数获取当月天数 _month++; if (_month > 12)//月数超过12,则开始下一年...这个参数用户在使用时不需要传递,编译器会自动传递,本质是为了让前置++和后置++进行函数重载....需要学习的是,可以使用已经实现的>和"=="去复用实现剩下的其他运算符 bool Date::operator>(const Date& d) { if (_year > d.

    39920

    CSDN是怎么实现用户签到,统计签到次数,连续签到天数等功能微服务的

    使用512M内存就可以存储多达42.9亿的字节信息(2^32 = 4,294,967,296) 它是由一组bit位组成的,每个bit位对应0和1两个状态,虽然内部还是采用String类型存储,但Redis...、获取、统计等指令,使用起来非常方便。...按月统计用户签到的次数 用户需求:统计某月签到次数,默认是当月 签到控制层 SignController /** * 获取签到次数 默认当月 * * @param...查询当月签到总天数为5天: 获取用户签到明细情况 获取用户某月签到情况,默认当前月,返回当前月的所有日期以及该日期的签到情况 签到控制层 SignController /** *...,默认当月 获取登录用户信息 构建Redis保存的Key 获取月份的总天数(考虑2月闰、平年) 通过BITFIELD指令获取当前月的所有签到数据 遍历进行判断是否签到,并存入TreeMap方便排序

    3.1K20

    Python编程经典案例【考题】判断日期是该年中的第几天

    本文目录 经典案例【考题】 经典案例解题方法 2.1 通过计算这一天和该年1月1日之间的时间差求天数 2.2 通过合计每个月的天数获取 一、经典案例【考题】 问题:输入日期,判断这一天是这一年的第几天?...step2:把输入日期和参照日期做差求出间隔天数,间隔天数加1即可求出这一天是这一年的第几天。...2 方法二:通过合计每个月的天数获取 上述案例第二种解题思路为: step1:调用calendar库应用for循环,获取输入日期在该年份中小于当月每个月份的天数,并加总。...step2:获取该日期当月的天数,并和之前的天数加总,求出这一天是这一年的第几天。...至此,Python中的编程经典案例【考题】判断日期是该年中的第几天已讲解完毕。

    1.5K20

    C++日期类

    日期类 构造函数与获取天数 加天数 减天数 日期的比较 日期减日期 打印和输入日期 日期类完整代码 构造函数与获取天数 这里我们不算公元前的日期。...,你在加减天数的时候轻则月份会随之变化,重则年份也会随之变化,我们知道闰年和平年的2月不同,每个月和每个月的天数也不同,只有年和月是有规律的,所以可以写一个获取天数的函数,后续就可以用这个来判断你在某年某月加天数之后是否合法...首先要判断合法性,天数不能超过当月的天数,月不能超过12月,这里就不限制年份了。...{ _day -= GetMonthDay(_year, _month);//不合法就减去当月的天数 ++_month;//减去当前月份天数就说明过去一个月了 if (_month...year, _month))//判断天数合法性 { _day -= GetMonthDay(_year, _month);//不合法就减去当月的天数 ++_month;//减去当前月份天数就说明过去一个月了

    1.2K00

    利用 Redis bitmap 实现高效的用户签到统计功能

    Bitmap 的主要应用场景如下: 用户签到统计:每个用户对应一张位图,位图中的每一位代表某一天的签到情况。0 表示未签到,1 表示已签到。通过位图可以快速统计用户的连续签到天数、总签到天数等。...功能概览 接下来将会结合 Go 语言和 Redis 中间件实现以下功能: 用户签到 查询用户签到状态 统计今年累计签到天数 统计当月的签到情况 在 Go 程序里安装 Redis 依赖 接下来的功能实现将会使用...使用当月天数 days 构建 type 参数 fmt.Sprintf("u%d", days),表示操作的位字段宽度。...内容包括 Redis Bitmap 数据类型的简单介绍及其应用场景,并通过 Go 语言程序简单实现了 用户签到、查询用户签到状态 和 统计今年累计签到天数 以及 统计当月的签到情况 的功能。...快速查询:可以通过位操作快速查询用户的签到状态和统计签到天数。 然而,Redis Bitmap 数据类型也有其局限性。例如,使用 Bitmap 存储数据时,只能存储单一状态。

    1.3K31

    抖音面试题:遇到连续问题怎么办?

    里讲过遇到“连续问题”如何解决,并送出了一个万能模板,模板使用的是窗口函数解决连续问题。...窗口函数 窗口函数lead使用方法: lead(字段名,N,默认值) over(partion by …order by …) 默认值是指:当向上N行或者向下N行值时,如果已经超出了表行和列的范围时,会将这个默认值作为函数的返回值...窗口函数lead可以获取每个字段的后面的第n个值,并生成新的一列。 而这道题描述的“用户连续登陆”中的“连续”可以理解为用户当前的登陆日期与本月下一次登陆日期相差一天。...子查询 用户每次连续登陆天数与用户登陆顺序存在某种必然的关系,此时我们可以先用子查询将用户在本月的阅读顺序查询出来,使用窗口函数row_number: select *, lead(日期...与原题的区别在于: 1)“连续2天”变成了“连续5天”:对最后的where条件进行修改; 2)查询“用户名单”变成了“用户数”:用户group by和count(distinct 用户id)计算用户数。

    1.2K20

    【C++】类和对象练习——日期类的实现

    | _dayGetMonthDay(_year, _month)) { return false; } } 获取每个月的天数 //获取每个月的天数——该函数使用最为频繁...(*this > d); } 日期类加减 //日期类的加减 //日期加日期无意义,日期加整型(如天数)有意义 // += 是天数直接赋值到对象,会改变对象的值,故使用引用Date& // + 是算以后多少天的日期...| _day>GetMonthDay(_year, _month)) { return false; } } //获取每个月的天数——该函数使用最为频繁,故直接放到类里作内联函数...(如天数)有意义 // += 是天数直接赋值到对象,会改变对象的值,故使用引用Date& // + 是算以后多少天的日期,不改变数值,故直接Date Date& operator += (int...如天数)有意义 // += 是天数直接赋值到对象,会改变对象的值,故使用引用Date& // + 是算以后多少天的日期,不改变数值,故直接Date Date& Date::operator += (int

    22800

    ERP系统付款条件的配置及应用介绍

    1.输入事务码OBB8按回车进入如下维护界面 创建新的付款条件,可以通过点击新条目全新创建,也可以通过复制已存在的付款条件,然后在修改部分值的方式进行创建(本例采用全新创建的方式进行创建) 2....A:测试上面配置的付款条件0008,它的配置完成后如下: 付款条件0008按天数限制值15和31创建了2种条件,这表示如果基准默认日期为15之前(含15日),将当月的30日(固定日维护值)作为基准日期,...根据付款条件0008配置,因为5/9日是在当月15日之前,所以基准日期为当月的30日(即5/30日),到期日=基准日期+45天(付款条款中维护值) =7/14。...B:测试付款条件0007,它的配置如下: 付款条件0007按天数限制值15和31创建了2种条件,这两条件的固定日和附加月份为都为空白,基准日期默认值设置为发票过账日期,付款条款按固定日期/附加月(条件1...C:测试付款条件0002,它的配置如下: 付款条件0002天数限制只有一个0,基准日期默认值设为凭证日期,固定日和附件月份为空白 下面使用FB60做一张凭证实际验证下这付款条件的效果 将发票凭证日期输入

    2.4K20

    C嘎嘎入门篇:类和对象番外(时间类)

    ,我们传过去的参数也是一个类类型的对象x,我们仅需把x的内容复制给要接受的对象,对于拷贝构造函数和赋值运算符重载小编在上篇文章也讲述了,感兴趣的读者朋友可以去看看,下面小编展示代码: Date& operator...1.6..时间 +/+= 天数函数 1.6.1.获取天数的函数 在我们讲述时间+/+=天数函数之前,我们首先要先写一个确定每个月天数的函数,因为大家都知道,闰年和平年2月份的天数不一样,每个月的天数也不是一致的...,所以此时我们需要自己写一个获取每个月天数的函数供我们使用,对于这个函数的描写其实很简单,我们可以先设置一个可以保存13个整形的数组,然后由于数组第一个元素的下标是0开头的,所以我们第一个元素不作数,其他的就是按照..., 然后我们就要开始往后进位了,我们首先先让天数减当月的天数,然后让天数往后加一,之后我们需要判断此时的月份是否加到了13,如果是13,那么就让月份变为1,年往后+1,之后我们继续去减去当月的天数,此时我们就用到了循环...,循环的条件自然是此时的天数应当大于当月的天数,在我们循环完以后,返回*this即可~此时我们的返回值类型是引用类类型,这样做是为了减少临时对象的产生,提高代码的效率,这个函数已经写完,下面小编给出这个函数的代码

    13410

    【C语言刷题每日一题#牛客网HJ73】——计算日期到天数转换(给定日期,计算是该年的第几天)

    此问题解决方法不唯一,这里介绍的是一种使用数组和循环实现的简单办法 问题描述 思路分析 问题的要求是输入一个日期,计算这是当年的第几天——要解决这个问题,逻辑就是将输入日期当月之前整月的天数加起来,再加上当月的天数...0; scanf("%d %d %d", &year, &month, &day); 数据结构构建部分 其次,想要将整月的天数加起来,需要考虑到每个月的天数各不相同 这里用一个最简单的方法——用数组来实现对不同月份天数不同的处理...= 0)) || (year % 400 == 0)) { arr[2] += 1; } 以上,已经完成了所需的数据结构 计算部分 接下来就是完成对天数的相加,来计算出输入日期是第几天 首先创建一个变量来存储天数...然后用一个循环将输入的月份之前的整月天数加起来 在循环结束之后,将循环内得到的计算结果再加上当月的天数就是某年某月某日所处在当年的天数啦 int days = 0; for (int i = 0; i...+= day; //再加上当月天数 printf("%d\n", days); return 0; } 结果测试

    23310

    搭建服饰企业销售折扣动态预警模型

    赚钱的第一道防线是? 毛利。毛利是一切利润的源头。 怎样可以保证良好的毛利状况? 销售折扣的合理控制。 为了确保利润达成,我们会每月制定销售目标和销售折扣,以便完成毛利预算。...所以我们可以每日实时监控当月折扣与销售额的变化,合理进行下周/本月剩余天数的促销活动策划,以期折扣回到合理的范围内,从而达成利润目标。...我通过Power BI做了个简要模型,可以实现这种动态预警:(动画演示) 动画演示 期初,我们可以输入当月的销售目标(含税)、预算销售折扣、进货折扣,我们会得到我们预算的毛利额 参数设置 我们可以拖动滑块或者手动输入截至昨天已经完成的销售额...,和累计到当前的销售折扣。...2.如果不愿修正销售目标,那么本月剩余天数必须对销售折扣做出行动,严格控制促销力度,本例销售折扣后期需要达到85折才能完成毛利任务。

    1.8K20
    领券