hive的SQL语句练习2

drawn_id (key) user_id drawn_dt drawn_amt

支用ID 用户 支用日期 支用金额

aaa u_001 2025-01-01 10

bbb u_002 2025-01-05 1000

ddd u_001 2025-01-10 10111

CCC u_003 2025-02-21 11111

问题:用HiveQL语法分别统计出如下信息

1)统计每个用户电销外呼后的支用统计业绩:业绩口径(外呼后15天有支用都算,如果一笔支用归给多个外呼只取最早那笔外呼)

用户ID 支用ID 支用日期 支用金额 外呼ID 外呼日期 外呼时长

电销:电话销售

外呼:打电话出去 可能是为了电话销售,也可能是为了回访老顾客

支用:客户借钱使用了,就是支用。

统计结果需要关联上面这个表。

好的,我将为您生成两道Hive SQL语句的练习。这些练习基于常见的Hive数据查询场景,适合初学者到中级水平。每个练习包括问题描述、所需数据表结构(假设表已存在),以及一个提示。练习设计注重实用性,帮助您掌握Hive的核心功能。如果您需要解决方案或进一步解释,请随时告知!

练习1: 基础数据过滤与查询

问题描述

假设有一个Hive表 sales,用于存储销售记录。表结构如下:

  • order_id (int):订单ID
  • product_name (string):产品名称
  • quantity (int):销售数量
  • price (double):产品单价

编写一个Hive SQL查询,找出所有单价大于100且销售数量大于5的订单记录,并按product_name升序排序。

提示

  • 使用WHERE子句进行条件过滤。
  • 使用ORDER BY进行排序。
  • 注意Hive SQL的语法(如字符串用单引号)。

练习2: 聚合计算与分组统计

问题描述

继续使用 sales 表。编写一个Hive SQL查询,计算每个产品的总销售额(总销售额定义为销售数量乘以单价的累积和,即 \\sum (\\text{quantity} \\times \\text{price})),并只显示总销售额超过1000的产品。结果应包括product_name和对应的总销售额(别名为total_sales),并按总销售额降序排序。

提示

  • 使用GROUP BY按产品分组。
  • 使用聚合函数(如SUM)计算总销售额。
  • 使用HAVING子句过滤聚合结果。
  • 注意:在Hive中,数值计算需处理数据类型(如确保quantityprice可相乘)。

这些练习覆盖了Hive SQL的基础操作(过滤、排序)和进阶功能(聚合、分组)。如果您尝试后需要核对答案或遇到问题,欢迎反馈!

相关推荐
宋浮檀s11 小时前
应急响应——Web漏洞:命令执行+SSRF+弱口令
运维·数据库·sql·网络安全·oracle·应急响应
SilentSamsara17 小时前
SQLAlchemy 2.x:异步 ORM 与数据库迁移 Alembic 完整指南
开发语言·数据库·python·sql·青少年编程·oracle·fastapi
Rick199320 小时前
线上慢SQL排查完整实战案例
数据库·sql
~央千澈~21 小时前
《ZAKU渗透论:卓伊凡的2026渗透工程》第三章:Web攻击原理(上)——注入与SQL注入
数据库·sql·oracle
卷毛迷你猪21 小时前
快速实验篇(A3)基于 Hive 的气象数据数仓构建与干旱指标初步分析
大数据·hadoop·分布式
卷毛迷你猪21 小时前
快速实验篇(A4)Hive 数据仓库进阶:全站点干旱事件识别与多维统计分析
数据仓库·hive·hadoop·分布式
冰上浮云1 天前
Gravitino iceberg catalog backend 为hive 获取元数据过程
数据仓库·hive·hadoop·gravitino
Yvonne爱编码1 天前
数据库---Day10 索引
数据库·sql·mysql
段一凡-华北理工大学1 天前
工业领域的Hadoop架构学习~系列文章06:Hive数据仓库
数据仓库·hadoop·架构·高炉炼铁·工业智能体·高炉智能化·hive数据仓库
我是一颗柠檬1 天前
【MySQL全面教学】MySQL性能优化实战Day13(2026年)
数据库·后端·sql·mysql·性能优化·database