当前位置: 首页 > news >正文

Hive sql 进阶题 03

用户注册、登录、下单综合统计

从用户登录明细表(user_login_detail)和订单信息表(order_info)中查询每个用户的注册日期(首次登录日期)、总登录次数以及其在2021年的登录次数、订单数和订单总额。

select t1.user_id, register_date, cnt, cnt2021, order_count_2021, order_amount_2021 from (select user_id, min(date_format(login_ts, 'yyyy-MM-dd')) register_date, count(*) cnt, count(`if`(year(login_ts) = 2021, 1, null)) cnt2021 from user_login_detail group by user_id) t1 left join (select user_id, count(`if`(year(create_date) = 2021, 1, null)) order_count_2021, sum(`if`(year(create_date) = 2021, total_amount, 0)) order_amount_2021 from order_info group by user_id) t2 on t1.user_id = t2.user_id;

查询指定日期的全部商品价格

从商品价格修改明细表(sku_price_modify_detail)中查询2021-10-01的全部商品的价格,假设所有商品初始价格默认都是99。

select sku_info.sku_id, nvl(new_price, 99) price from sku_info left join ( select sku_id, new_price from ( select sku_id, new_price, change_date, row_number() over (partition by sku_id order by change_date desc) rn from sku_price_modify_detail where change_date <= '2021-10-01' ) t1 where rn = 1 ) t2 on sku_info.sku_id = t2.sku_id;

即时订单比例

订单配送中,如果期望配送日期和下单日期相同,称为即时订单,如果期望配送日期和下单日期不同,称为计划订单。

请从配送信息表(delivery_info)中求出每个用户的首单(用户的第一个订单)中即时订单的比例,保留两位小数,以小数形式显示。

select round(count(`if`(order_date = custom_date, 1, null)) / count(*), 2) percentage from (select user_id, order_date, custom_date, row_number() over (partition by user_id order by order_date) rn from delivery_info) t1 where rn = 1;

向用户推荐朋友收藏的商品

现需要请向所有用户推荐其朋友收藏但是用户自己未收藏的商品,请从好友关系表(friendship_info)和收藏表(favor_info)中查询出应向哪位用户推荐哪些商品。

select distinct t1.user_id, friend_favor.sku_id from ( select user1_id user_id, user2_id friend_id from friendship_info union select user2_id, user1_id from friendship_info ) t1 left join favor_info friend_favor on t1.friend_id = friend_favor.user_id left join favor_info user_favor on t1.user_id = user_favor.user_id and friend_favor.sku_id = user_favor.sku_id where user_favor.sku_id is null;

查询所有用户的连续登录两天及以上的日期区间

登录明细表(user_login_detail)中查询出,所有用户的连续登录两天及以上的日期区间,以登录时间(login_ts)为准。

select user_id, min(login_date) start_date, max(login_date) end_date from ( select user_id, login_date, date_sub(login_date, rn) flag from ( select user_id, login_date, row_number() over (partition by user_id order by login_date) rn from ( select user_id, date_format(login_ts, 'yyyy-MM-dd') login_date from user_login_detail group by user_id, date_format(login_ts, 'yyyy-MM-dd') ) t1 ) t2 ) t3 group by user_id, flag having count(*) >= 2;
http://www.jsqmd.com/news/1246798/

相关文章:

  • 宁波海曙区鼓楼街道亨得利名表服务中心电话公示(2026年7月最新) - 亨得利官方
  • 2026 年新消息:浙江口碑好的道路标线工程品牌哪家好,标线成本翻倍?揭秘隐藏的工程陷阱!-途力市政交通设施 - 行业推荐官[官方】--
  • GPT-Live上线两周后,吴恩达说出了AI语音交互一个被忽视的真相
  • 数据库增删改查
  • 北京公司税务争议律师哪家专业:资深律师团队与成功案例分享 - 品牌深度评测
  • 后量子密码学:为什么 2026 年将成为关键转折点
  • 3 个维修隐坑|佛山笔记本 0x0000007B 蓝屏完整自查,90% 不用更换硬盘
  • 2026衡水市枣强县黄金回收哪家靠谱?五家门店深度测评,附全套避坑策略_转自TXT - 余情未了888
  • AI 辅助游戏经济系统平衡:代币供需建模、通胀率预测与参数自动化调优
  • 无人机的端侧AI推理实战:从目标检测到自主避障的实时工程方案
  • 2026乐园收银系统功能测评,实用款式推荐 - 小富子呀
  • 2026吉安市安福县黄金回收哪家靠谱?五家门店深度测评,附全套避坑策略 - 前途无量YY
  • 存款证明翻译件怎么弄?2026办理流程与盖章要求
  • 从流水线到私人定制:安娜写真馆与那些值得被看见的独立摄影品牌 - 博客万
  • 南宁内推国央企哪家人力中介机构好哪家专业
  • 从学习效率翻倍到开源机器人栈:AI智能体正在长出身体,但人形交互仍是最后一道关卡
  • 大盘价回收黄金怎么找?贵阳 4 家实体门店横向测评,避坑收藏 - 日常比对手册
  • Unity集成MediaPipe实战:从环境配置到性能优化的完整指南
  • 2026收银软件测评指南,多维度实测,选出好用款式 - 横评实验室
  • 知识图谱构建的AI化工程实战:从实体抽取到关系推理的自动化方案
  • 【MATLAB课题推荐】AUV惯性导航与INS/DVL组合导航定位方法研究:从纯惯性漂移到自适应鲁棒融合算法
  • 2026门店收银系统口碑榜,多款主流产品实测对比 - 小富子呀
  • 2026湖州市安吉县黄金回收哪家靠谱?五家门店深度测评,附全套避坑策略_转自TXT - 余情未了888
  • 亲身到店探访北京格拉苏蒂售后服务中心|最新地址及服务热线(2026年7月最新) - 亨得利官方服务中心
  • 【Redis】6.计数其他命令
  • 青岛黄金回收怎么选靠谱?行业合规标准与门店挑选攻略 - 一日一测评
  • 工厂AI数字员工落地指南:从设备数据采集到生产报表自动化的技术路径
  • Day 017|LlamaIndex 入门:让数据和 Agent 更自然地连起来
  • 亨得利名表服务中心电话和详细维修地址实地考察报告+多信源验证(2026年七月最新) - 亨得利官方
  • 化工园区气体流量测量,涡轮流量计选什么品牌性价比高? - 仪表人小余