zoukankan      html  css  js  c++  java
  • 携程笔试题3--2020-09-08

    题目:在很多预测模型中,往往需要用到同一行为的不同周期汇总值作为特征。比如近1/7/15/30/60天购买笔数和金额。因此,怎么用简洁的sql获取这些特征是作为一个分析师必须要掌握的技能。

    输入描述:

    订单表edw_htl_order:

    orderid  bint  comment (订单id)

    userid  bigint comment(订单id)

    orderdate string comment (下单日期) 

    amount double comment(订单金额)

    输出结果:用户id,近一天的订单数,近一天的订单金额,近七天订单数,近七天订单金额,近15天订单数,近15天订单金额

    说明:为了兼容各sql引擎,我们简化约定近n天判断如下:

    近1天:【‘2020-07-15’,‘2020-07-16’】

    近7天:【‘2020-07-09’,‘2020-07-16’】

    近15天:【‘2020-07-01’,‘2020-07-16’】

    样例输入:

     

     

     样例输出:

     输入代码:

     1 select e1.userid,e1.cnt_1d,e1.amt_1d,e2.cnt_7d,e2.amt_7d,e3.cnt_15d,e3.amt_15d
     2 from (select userid, count(orderdate) cnt_1d, sum(amount) amt_1d
     3      from edw_htl_order
     4      where orderdate between '2020-07-15' and '2020-07-16'
     5      group by userid) as e1
     6 inner join 
     7     (select userid, count(orderdate) cnt_7d, sum(amount) amt_7d
     8          from edw_htl_order
     9          where orderdate between '2020-07-09' and '2020-07-16'
    10          group by userid) as e2 on e1.userid = e2.userid
    11 inner join 
    12     (select userid, count(orderdate) cnt_15d, sum(amount) amt_15d
    13          from edw_htl_order
    14          where orderdate between '2020-07-01' and '2020-07-16'
    15          group by userid) as e3 on e2.userid = e3.userid;

    输出结果:

  • 相关阅读:
    winform窗口打开特效及窗口位置居中
    C# Installer Projects 打包工具
    C#
    MVVM模式开发WinForm-ReactiveUI
    C#实现类似百度网盘、育网校园云盘在“我的电脑”磁盘驱动器
    MVVM框架
    自制2048小游戏
    一个无限循环轮播图 HCCycleView
    Xcode插件及cocoapods不能正常使用的解决方法
    Runtime — 运行时机制
  • 原文地址:https://www.cnblogs.com/xiaodangdang/p/13637485.html
Copyright © 2011-2022 走看看