当前位置 博文首页 > 执剑问道的博客:顺丰大数据面试题-2021

    执剑问道的博客:顺丰大数据面试题-2021

    作者:[db:作者] 时间:2021-07-18 10:08

    在这里插入图片描述
    第一题求助CSDN技术人员解决的:
    在这里插入图片描述

    select C.customtrade,group_concat(C.mid) from
    (
    select A.customtrade,
    case when  LOCATE(B.customtrade,A.customtrade) >0 then id 
    else '0' end mid
    from A,B
    ) C where mid!=0 group by C.customtrade  
    

    第二题建表,求连续三天的数。原表所示:
    在这里插入图片描述

    select u2.* from
    (select u1.id,u1.num,(lead(u1.id,2)over(partition by u1.num 
    order by u1.rn)-u1.rn)df 
    from ( select id, num,row_number()over(partition by num order by id) rn
    from user11 group by num,id)u1 group by u1.id,u1.num,u1.rn)u2
    where u2.df=2;
    

    df是lead位移后2位,与ID相减得出的差值,如果数是连续的,则为一样的值。
    在这里插入图片描述
    第三题用dense_rank,也有说rank的,题记不清了。rank是可以跳过并列的,像第一与第二一样的话会并列,则会没有第二序号的。

    cs