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的基础操作(过滤、排序)和进阶功能(聚合、分组)。如果您尝试后需要核对答案或遇到问题,欢迎反馈!

相关推荐
梦里不知身是客113 小时前
hive的SQL练习3
hive·hadoop·sql
姚远Oracle ACE4 小时前
Oracle AWR 报告中的SQL来自哪儿?
数据库·sql·oracle
Q26433650236 小时前
【有源码】基于Hadoop与Spark的时尚精品店数据分析与可视化系统-基于多维度分析的零售时尚销售数据挖掘与可视化研究
大数据·hadoop·机器学习·数据挖掘·数据分析·spark·毕业设计
艾菜籽6 小时前
MyBatis动态sql与留言墙联系
java·数据库·sql·spring·mybatis
顧棟6 小时前
【Flink实战】升级HDFS,对Flink SQL(On Yarn模式)的功能兼容性验证
hadoop·flink·1024程序员节
青~6 小时前
sql 双游标循环
数据库·sql
雾里云山7 小时前
pgsql常用函数
java·开发语言·数据库·sql
北邮-吴怀玉14 小时前
6.1.2.2 大数据方法论与实践指南-离线任务SQL 任务开发规范
大数据·数据库·sql
笨蛋少年派17 小时前
使用hdfs命令报错:Unknown command:dfs(环境变量正确)
大数据·hadoop·hdfs