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

相关推荐
山峰哥7 小时前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器
山岚的运维笔记9 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
WHD30611 小时前
苏州数据库(SQL Oracle)文件损坏修复
hadoop·sql·sqlite·flume·memcached
ClouderaHadoop11 小时前
CDH集群机房搬迁方案
大数据·hadoop·cloudera·cdh
麦聪聊数据15 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
枷锁—sha17 小时前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
怣5020 小时前
MySQL多表连接:全外连接、交叉连接与结果集合并详解
数据库·sql
证榜样呀1 天前
2026 中专大数据技术专业可考的证书有哪些,必看!
大数据·sql
Codefengfeng1 天前
数据安全知识点速通
sql