资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 前沿技术 > 大数据 > 大数据系统

美团/得物sql面试题

大数据系统 更新时间: 发布时间: 计算机考试归档 最新发布

美团/得物sql面试题

 解题思路:

1.找出uid不同的但是买过pro_id相同的商品的用户 [自连接]

 select
   a.uid,
  b.pro_id 
 from
   tb_order a
 join 
   tb_order b
 on a.pro_id = b.pro_id 
 where a.uid <> b.uid 	 -- 找出uid不同的但是pro_id相同的商品

2.对uid和pro_id进行分组

select
  a.uid,
  a.pro_id 
from
  tb_order a
join 
  tb_order b
on a.pro_id = b.pro_id 
  where a.uid <> b.uid 	 -- 找出uid不同的但是买过pro_id相同的商品的用户
group by uid,pro_id 

3.在对uid进行分组得到买过两件及以上的用户

select 
uid  
from
  (
  select 
     uid  
   from
     (
  select
    a.uid,
    a.pro_id 
  from
    tb_order a
  join 
    tb_order b
  on a.pro_id = b.pro_id 
    where a.uid <> b.uid 	 -- 找出uid不同的但是买过pro_id相同的商品的用户
  group by uid,pro_id 
  ) tb0
group by uid   -- 得到买商品相同数为2件及以上的用户   
having count(1) >= 2

 4.再进行自连接得到符合条件的人和商品
select
  tb1.uid,
  tb1.pro_id
from
  tb_order tb1
join
  (
  select 
  uid  
  from
    (
    select 
       uid  
     from
       (
    select
      a.uid,
      a.pro_id 
    from
      tb_order a
    join 
      tb_order b
    on a.pro_id = b.pro_id 
      where a.uid <> b.uid 	 -- 找出uid不同的但是买过pro_id相同的商品的用户
    group by uid,pro_id 
    ) tb0
  group by uid   -- 得到买商品相同数为2件及以上的用户   
  having count(1) >= 2
  ) tb2
on tb1.uid = tb2.uid

 5.在对pro_id进行分区获取商品数是1的商品[使用自查询即可]

最终sql:

select
  tb3.uid,
  tb3.pro_id
from
  (
  select
    tb1.uid,
    tb1.pro_id
  from
    tb_order tb1
  join
    (
    select 
    uid  
    from
      (
      select 
         uid  
       from
         (
      select
        a.uid,
        a.pro_id 
      from
        tb_order a
      join 
        tb_order b
      on a.pro_id = b.pro_id 
        where a.uid <> b.uid 	 -- 找出uid不同的但是买过pro_id相同的商品的用户
      group by uid,pro_id 
      ) tb0
    group by uid   -- 得到买商品相同数为2件及以上的用户   
    having count(1) >= 2
    ) tb2
  on tb1.uid = tb2.uid
  ) tb3 
where pro_id in (select pro_id from  tb_order group by pro_id having count(1) = 1)

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/280029.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【美团/得物sql面试题】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2