大数据学习吧 关注:2,097贴子:2,774
  • 2回复贴,共1

【大数据技术】面试题

只看楼主收藏回复

请用sql写出所有用户中在今年10月份第一次购买商品的金额,表ordertable字段(购买用户:userid,金额:money,购买时间:paymenttime(格式:2020-01-01),订单id:orderid)


IP属地:北京1楼2021-01-26 11:35回复
    第一步:
    建表
    create table ordertable(
    userid string,
    money int,
    paymenttime string,
    orderid string)
    row format delimited fields terminated by '\t';


    IP属地:北京2楼2021-01-26 11:35
    回复
      第二步
      查询出
      select
      userid,
      min(paymenttime) paymenttime
      from
      ordertable
      where
      date_format(paymenttime,'yyyy-MM')='2017-10'
      group by
      userid;t1
      select
      t1.userid,
      t1.paymenttime,
      od.money
      from
      t1
      join
      ordertable od
      on
      t1.userid=od.userid
      and
      t1.paymenttime=od.paymenttime;
      select
      t1.userid,
      t1.paymenttime,
      od.money
      from
      (select
      userid,
      min(paymenttime) paymenttime
      from
      ordertable
      where
      date_format(paymenttime,'yyyy-MM')='2017-10'
      group by
      userid)t1
      join
      ordertable od
      on
      t1.userid=od.userid
      and
      t1.paymenttime=od.paymenttime;


      IP属地:北京3楼2021-01-26 11:36
      回复